-
Notifications
You must be signed in to change notification settings - Fork 34
Release Notes Feature Improvements #2637
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🔍 Preview links for changed docs |
Move --hide-features to bundle commandI tested with the files from elastic/kibana#250840 and confirmed that the The following errors and warnings were found in the documentation
Warning: Changelog entry 'Feature branch ' with feature-id 'test_feature1' will be commented out in markdown output
Warning: Changelog entry 'Adds a functionality for removing root privilege from Fleet managed agents if applicable.' with feature-id 'test_feature3' will be commented out in markdown outputLikewise the changelog directive also successfully hides the "hidden" features. Fix incorrect repository URLs in linksI tested and this works in elastic/kibana#250840 docs-builder changelog bundle \
--config./docs/changelog.yml \
--input-products "kibana 9.3.0 *" \
--directory ./docs/changelog \
--output ./docs/releases/kibana/9.3.0.yaml \
--repo kibana --owner elastic \
--output-products "kibana 9.3.0 *" \
--hide-features test_feature1Created output that contains the products:
- product: kibana
target: 9.3.0
repo: kibana
hide-features:
- test_feature1
...Ditto in lcawl/kibana#11 where ./docs-builder changelog bundle \
--directory ./docs/changelog/2025-01-13 \
--output ./docs/changelog/bundles/1.yaml \
--all \
--output-products "cloud-serverless 2025-01-13" \
--repo kibana --owner elasticyields: products:
- product: cloud-serverless
target: 2025-01-13
repo: kibana
entries:
- file: ...However, the links are still behaving oddly when they're rendered in a situation where multiple bundles are merged. [Traces][Discover] Fix double scroll in fullscreen flyouts. [#247744](https://github.com/elastic/elasticsearch+elasticsearch-serverless+kibana/pull/247744)i.e. it's using all three Fix amend bundles appearing separatelyI re-tested against elastic/elasticsearch#140795 and the content is appropriately merged, thanks! Type-specific empty section textI re-tested against elastic/docs-content#4843 and the text looks great now, thanks! OtherNote that while testing the changelog directives in elastic/kibana#250840 and elastic/docs-content#4843 I re-confirmed that both the area-based and type-based blocks seem to be ineffectual. In the first case, for example, the "Elastic Observability" and "Elastic Security" areas ought to have been hidden. In the second case, the "Snapshot and restore" areas ought to be hidden. While testing the It's fine to fix this in a separate PR if necessary, since it's all tied up with https://github.com/elastic/docs-eng-team/issues/403 |
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Yay, I added the
i.e. the "Documentation" type section was successfully hidden on the page, but still appeared in the right-hand navigation. |
Mpdreamz
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
--hide-features should be exposed in bundle profiles too.
I am not sure if the repo should be embedded in the bundle (can we not look this up in assemble.yml?
Added From what I understood, Would |

This PR implements several improvements to the changelog bundling, rendering, and directive functionality based on https://github.com/elastic/docs-eng-team/issues/374.
Summary
--hide-featurescan now be specified when bundling, persisting hidden feature IDs in the bundle*.amend-N.yaml) are automatically merged with their parent bundles{changelog}directive shows appropriate empty messages based on the:type:filter{changelog}directive now auto-detects the product from single-product docsets for publish blockersChanges
1. Move
--hide-featuresto Bundle CommandProblem: Previously,
--hide-featureswas only available on therendercommand, meaning the directive couldn't access this information and each rendering context needed to know which features to hide.Solution:
hide-featuresfield to the bundle schema (BundleDto,Bundle,LoadedBundle)--hide-featuresoption tochangelog bundlecommand (supports comma-separated IDs and file paths){changelog}directive now aggregateshide-featuresfrom all loaded bundlesrendercommand merges CLI--hide-featureswith bundle-sourced features2. Fix Incorrect Repository URLs in Links
Problem: PR/issue links used the product ID (e.g.,
cloud-serverless) instead of the actual GitHub repository name (e.g.,cloud), resulting in broken links.Solution:
repofield toBundledProductDtoandBundledProduct--repo, the repository name is stored in the bundle's product metadataBundleLoaderuses therepofield for link generation, falling back to ProductId for backward compatibility3. Fix Amend Bundles Appearing Separately
Problem: Bundles created with
changelog bundle-amendappeared as separate releases instead of merging with their parent bundle.Solution:
MergeAmendFilesmethod toBundleLoaderthat automatically discovers and merges amend files{parent-bundle}.amend-{N}.yaml.yamland.ymlextensions4. Type-Specific Empty Section Text
Problem: When using
:type: breaking-changefilter with no entries, the message was generic ("No new features, enhancements, or fixes") instead of type-appropriate.Solution:
GetEmptyMessage(ChangelogTypeFilter)method toChangelogInlineRenderer:type: breaking-change→ "There are no breaking changes associated with this release.":type: deprecation→ "There are no deprecations associated with this release.":type: known-issue→ "There are no known issues associated with this release."5. Automatic Product Blocker Resolution for Directives
Problem: The
{changelog}directive wasn't respecting product-specific publish blockers (block.product.{productId}.publish) defined inchangelog.yml. Users had to explicitly specify:product: kibanaeven when the docset only had one product configured.Solution:
ResolveProductId()method toChangelogBlockthat resolves the product ID in priority order::product:option if specifieddocset.yml)block.publishif no product can be determinedReleaseNotesSerialization.LoadPublishBlockerto support product-specific blocker lookupblock.productconfigurationdocset.yml - single product docset
changelog.yml - product-specific blockers