Skip to content

Conversation

@renovate
Copy link

@renovate renovate bot commented Mar 13, 2025

This PR contains the following updates:

Package Type Update Change
io_bazel_stardoc http_archive minor 0.5.6 -> 0.8.0

Release Notes

bazelbuild/stardoc (io_bazel_stardoc)

v0.8.0

Compare Source

New Features

  • Adds support for documenting symbolic macros when using Bazel 8.0.1
    or newer. (Note that the original Bazel 8.0.0 release had a bug causing
    macro documentation emitted by Stardoc to be be incomplete.) (#​267)

Contributors

Alexandre Rostovtsev, Keith Smiley, Richard Levasseur

v0.7.2

Compare Source

Bugfix release: fixes compatibility issues with Bazel 7.4 and 8.0.

Note that this release breaks compatibility with g++ 7.5 (the default
compiler in the Ubuntu 18.04 image) - a new transitive dep requires a
newer c++ compiler version.

Contributors

Alexandre Rostovtsev, Hemanshu Vadehra, Philip Zembrod, Richard Levasseur

v0.7.1

Compare Source

Notable Changes

  • Really fix building with --incompatible_disallow_empty_glob (#​238).
  • Auxiliary rule targets created by stardoc() macro now include provided
    tags (#​247)

Contributors

Alexandre Rostovtsev, Lukács Berki, yashathwani

v0.7.0

Compare Source

This release requires Bazel 7 or newer.

By default - when using Bzlmod for dependency management - Stardoc now uses
@stardoc as its repo name.

For compatibility with the legacy WORKSPACE-based setup (which used
@io_bazel_stardoc as the repo name) and ease of migration, you may load
Stardoc via

bazel_dep(name = "stardoc", repo_name = "io_bazel_stardoc", ...)

in your MODULE.bazel file.

New Features

  • Add support for a table of contents template (#​203). This is disabled by
    default, but Stardoc comes with an example template that you can use. To
    enable, set table_of_contents_template, for example:
    stardoc(
        ...,
        table_of_contents_template = "@​stardoc//stardoc:templates/markdown_tables/table_of_contents.vm",
    )
  • Add support for a footer template (#​206). This is disabled by default; to
    enable, set footer_template to a .vm file, which you will need to provide.
  • Add support for providing stamping to Stardoc templates (#​205). To use,
    use $util.formatBuildTimestamp and $stamping in a template file
    (footer_template - see above - is recommended for this); for example:
    Built on `$util.formatBuildTimestamp($stamping.volatile.BUILD_TIMESTAMP, "UTC", "yyyy-MM-dd HH:mm")`
    
  • Render documentation for provider init callbacks (#​224)
  • Properly render *args, *, and **kwargs in summaries (#​231). This requires
    Bazel 8 (prerelease 2024060 or newer).
  • Include load statement in summaries (#​216)

Incompatible Changes

  • The legacy extractor has been removed (#​212). Stardoc always uses the
    starlark_doc_extract-based extractor. The stardoc, semantic_flags, and
    use_starlark_doc_extract arguments to stardoc() macro have been removed.
  • Stardoc uses Bzlmod by default for dependency management (#​213). This means
    that by default, Stardoc now uses @stardoc as its repo name.

Contributors

Alex Humesky, Alexandre Rostovtsev, Fabian Meumertzheim, Grzegorz Lukasik,
Xùdōng Yáng, Yun Peng

v0.6.2

Compare Source

Bugfix release: bumps rules_jvm_external dependency to support building with
--incompatible_disable_starlark_host_transitions

Contributors

Alexandre Rostovtsev

v0.6.1

Compare Source

Bugfix release: fix rules_jvm_external pin warnings.

This release temporarily restores compatibility with Bazel 5 (manually tested).
Note that normally we only test Stardoc with the current stable Bazel and with
Bazel at HEAD - not with older releases. We make no promises about maintaining
compatibility with Bazel 5.

Contributors

Alexandre Rostovtsev

v0.6.0

Compare Source

New Features

  • Stardoc no longer escapes HTML tags in documentation. Feel free to
    use HTML formatting in your docs! We now also have much-improved
    rendering for fenced code blocks in attribute docs, and render attribute
    default values using Markdown instead of HTML markup. (#​161, #​167)

  • Stardoc now dedents and trims all doc strings - not only in macros (#​170).
    This means you can have

    my_rule = rule(
        doc = """
        This is my rule.
    
        Here is more info about it.
    
        ...
        """,
        ...
    )

    and Stardoc will dedent and trim the doc to

    This is my rule.
    
    Here is more info about it.
    
    ...
    
  • When using Bazel 7 or newer (or current Bazel HEAD), Stardoc will by
    default use the native starlark_doc_extract rule internally (#​166).

    This means, in particular:

    • correct default values for rule attributes in all cases
    • documentation for module extensions
    • more complete documentation for repository rules
    • by default (this can be turned off via render_main_repo_name = False),
      we will render labels in your main repo with a repo component: your
      main module name (when using bzlmod) or WORKSPACE name (#​168).

    You may temporarily disable the new extractor by calling Stardoc with
    use_starlark_doc_extract = False. However, after Bazel 7 is released,
    we plan to remove this argument and always use the new extractor.

Incompatible Changes

  • The Markdown renderer now uses Google EscapeVelocity instead of Apache
    Velocity for templating. The templating engines are almost compatible,
    with the exception of escapes in string literals: if in your template you
    had a string literal with a character escape, you would need to expand it.

    For example, instead of

    ${funcInfo.docString.replaceAll("\n", " ")}

    you would need

    ${funcInfo.docString.replaceAll("
    ", " ")}
  • When using the native starlark_doc_extract extractor, Stardoc requires
    two additional templates: repository_rule_template and
    module_extension_template. If you are using custom templates, you will
    probably want to define these, following the examples in
    stardoc/templates/markdown_tables.

  • When using the native starlark_doc_extract extractor, Stardoc cannot
    document generated .bzl files any more - because Bazel cannot load()
    generated .bzl files.

Other Notable Changes

  • The Markdown renderer's source now lives in the Stardoc repo; we build the
    renderer from source instead of using a bundled jar. Unfortunately, if you
    are not using bzlmod, this requires a rather complicated WORKSPACE setup;
    see https://github.com/bazelbuild/stardoc/releases/tag/0.6.0

Contributors

Alexandre Rostovtsev, Fabian Meumertzheim


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, 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 was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/io_bazel_stardoc-0.x branch 2 times, most recently from bdf50c1 to f434a68 Compare March 13, 2025 13:55
@renovate renovate bot force-pushed the renovate/io_bazel_stardoc-0.x branch from f434a68 to 3985e12 Compare March 13, 2025 20:07
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.

0 participants