Loading

changelog remove

Remove changelog YAML files from a directory.

You can use either profile-based removal or raw filter flags:

  • Profile-based: docs-builder changelog remove <profile> <version|promotion-report> — uses the same bundle.profiles configuration as changelog bundle to determine which changelogs to remove.
  • Raw flags: docs-builder changelog remove --products "..." (or --prs, --issues, --all) — specify the filter directly.

Before deleting anything, the command checks whether any of the matching files are referenced by unresolved bundles, to prevent silently breaking the {changelog} directive.

For more context, go to Create and bundle changelogs > Remove changelog files.

docs-builder  changelog remove [arguments...] [options...] [-h|--help]
		

You can use either profile-based removal (for example, remove elasticsearch-release 9.2.0) or raw flags (remove --all). These arguments apply to profile-based removal:

[0] <string?>
Profile name from bundle.profiles in the changelog configuration file.
For example, "elasticsearch-release".
When specified, the second argument is the version or promotion report URL.
Mutually exclusive with --all, --products, --prs, and --issues.
[1] <string?>
Version number or promotion report URL or path.
For example, "9.2.0" or "https://buildkite.../promotion-report.html".
--all
Remove all changelog files in the directory.
Exactly one filter option must be specified: --all, --products, --prs, or --issues.
Cannot be combined with a profile argument.
--bundles-dir <string?>
Optional: Override the directory scanned for bundles during the dependency check.
When not specified, the directory is discovered automatically from config or fallback paths.
--config <string?>
Optional: Path to the changelog configuration file.
Defaults to docs/changelog.yml.
--directory <string?>
Optional: The directory that contains the changelog YAML files.
When not specified, uses bundle.directory from the changelog configuration if set, otherwise the current directory.
--dry-run
Print the files that would be removed and any bundle dependency conflicts, without deleting anything.
Valid in both profile and raw mode.
--force
Proceed with removal even when files are referenced by unresolved bundles.
Emits a warning per dependency instead of blocking.
Valid in both profile and raw mode.
--issues <string[]?>
Filter by issue URLs or numbers (comma-separated), or a path to a newline-delimited file containing issue URLs or numbers.
Can be specified multiple times.
Exactly one filter option must be specified: --all, --products, --prs, or --issues.
Cannot be combined with a profile argument.
--owner <string?>
The GitHub repository owner, which is required when pull requests or issues are specified as numbers.
--products <List<ProductInfo>?>
Filter by products in format "product target lifecycle, ..."
Exactly one filter option must be specified: --all, --products, --prs, or --issues.
Cannot be combined with a profile argument.
All three parts (product, target, lifecycle) are required but can be wildcards (*). Multiple comma-separated values are combined with OR: a changelog is removed if it matches any of the specified product/target/lifecycle combinations. For example:
  • "elasticsearch 9.3.0 ga" — exact match
  • "cloud-serverless 2025-12-02 ga, cloud-serverless 2025-12-06 beta" — remove changelogs for either cloud-serverless 2025-12-02 ga or cloud-serverless 2025-12-06 beta
  • "elasticsearch * *" — all elasticsearch changelogs
  • "* 9.3.* *" — any product with a target starting with 9.3.
  • "* * *" — all changelogs (equivalent to --all)
--prs <string[]?>
Filter by pull request URLs or numbers (comma-separated), or a path to a newline-delimited file containing PR URLs or numbers.
Can be specified multiple times.
Exactly one filter option must be specified: --all, --products, --prs, or --issues.
Cannot be combined with a profile argument.
--repo <string?>
The GitHub repository name, which is required when pull requests or issues are specified as numbers.

When a changelog.yml configuration file defines bundle.profiles, you can use those same profiles with changelog remove to remove exactly the changelogs that would be included in a matching bundle.

Only the products field from a profile is used for removal. The output and hide_features fields are bundle-specific and are ignored.

For example, if your configuration file defines:

bundle:
  profiles:
    elasticsearch-release:
      products: "elasticsearch {version} {lifecycle}"
      output: "elasticsearch-{version}.yaml"
		

You can remove the matching changelogs with:

docs-builder changelog remove elasticsearch-release 9.2.0 --dry-run
		

This removes changelogs for elasticsearch 9.2.0 ga — the same set that docs-builder changelog bundle elasticsearch-release 9.2.0 would include.

You can also pass a promotion report URL or file path as the second argument, in which case the command removes changelogs whose PR URLs appear in the report:

docs-builder changelog remove elasticsearch-release https://buildkite.../promotion-report.html