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:
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
Contributors
Alexandre Rostovtsev, Fabian Meumertzheim
Bugfix release: update @rules_java
dependency to fix breakage with Bazel at HEAD.
Contributors
Alexandre Rostovtsev
New Features
Contributors
Alexandre Rostovtsev, Fabian Meumertzheim, Greg Estren, Ivo List, Keith Smiley, lberki, Philipp Schrader
Bugfix release: fixes angle bracket escaping and a crash on labels with @@
Contributors
Alexandre Rostovtsev, Jon Shea
Bugfix release: fixes crash with config_common.toolchain_type
.
Contributors
Alexandre Rostovtsev, Keith Smiley
Bugfix release: minor fixes, including a fix for build failure due to missing zlib version.
Contributors
aiuto, Alexandre Rostovtsev, Brian Silverman, Casey, Xùdōng Yáng
This release includes many fixes for Stardoc's markdown output, plus:
New Features
format = "proto"
(#20)Contributors
Alexandre Rostovtsev, Alex Eagle, Andrew Z Allen, Chris Rebert, c-parsons, Ivo List, Jon Brandvein, Laurent Le Brun, Max Vorobev, pbatg, Philipp Wollermann, Samuel Giddins, Thomas Van Lenten, Tiago Quelhas, Xùdōng Yáng, Yiting Wang
First release of Stardoc under the new repository location bazelbuild/stardoc. Please use this repository for future Stardoc releases instead of its old location. See Getting Started for updated setup information.
There are many new features since the last release. A summary of major features:
**bold**
instead of <b>bold</b>
. The <
. and >
characters are escaped in this output format.aspect()
definitions are now documented by Stardoc.Huge Thanks to kendalllaneee and blossommojekwu for their work on many of the features in this release.