﻿---
title: changelog note cli command
description: Create a changelog YAML for content that is not tied to a pull request. Typical uses are known issues and security advisories. For details and examples,...
url: https://docs-v3-preview.elastic.dev/docs-builder/cli/changelog/note
products:
  - Elastic Docs Builder
---

# changelog note cli command
```bash
docs-builder changelog note [options]
```

Create a changelog YAML for content that is not tied to a pull request.
Typical uses are known issues and security advisories.
For details and examples, go to [Create changelogs](https://docs-v3-preview.elastic.dev/docs-builder/data/release-notes/create).
Files are named `note-{slug}.yml`. Each product lists `products[].versions` — the release versions the change applies to.

## Options

<definitions>
  <definition term="--name string">
    Explicit slug for the note filename. Defaults to a slug derived from the title.
  </definition>
  <definition term="--products string">
    Products and versions in the format `"product versions [lifecycle], ..."` where `versions` is a `|`-separated list of release versions (for example, `"elasticsearch 9.3.0|9.4.0 ga"`).
    Unlike `changelog add`, the middle slot is required and is a version list, not omitted.
    The valid product identifiers are listed in [products.yml](https://github.com/elastic/docs-builder/blob/main/config/products.yml).
  </definition>
  <definition term="--action string">
    Optional action text.
  </definition>
  <definition term="--areas string[]">
    Optional area tags.
    **Repeatable:** pass `--areas` multiple times to supply more than one value
  </definition>
  <definition term="--concise">
    Omit schema reference comments from the generated YAML.
    **Default:** `false`
  </definition>
  <definition term="--config string">
    Path to the changelog.yml configuration file.
    **Constraints:** symbolic links not allowed, must exist, extensions: yml, yaml
  </definition>
  <definition term="--description string">
    Additional information (max 600 characters). Optional.
  </definition>
  <definition term="--no-extract-release-notes">
    Skip extracting release note text from PR/issue descriptions.
    **Default:** `false`
  </definition>
  <definition term="--no-extract-issues">
    Skip extracting linked issues/PRs from PR/issue body.
    **Default:** `false`
  </definition>
  <definition term="--feature-id string">
    Optional feature ID.
  </definition>
  <definition term="--highlight">
    Mark the entry as a highlight.
  </definition>
  <definition term="--impact string">
    Optional impact text.
  </definition>
  <definition term="--issues string[]">
    URLs of related issues. Optional citation field; listing issues does not attach the file to a release.
    **Repeatable:** pass `--issues` multiple times to supply more than one value
  </definition>
  <definition term="--owner string">
    GitHub owner. Falls back to bundle.owner or "elastic".
  </definition>
  <definition term="--output string">
    Output directory.
  </definition>
  <definition term="--prs string[]">
    Optional PR URLs (cited but not used as anchor).
    **Repeatable:** pass `--prs` multiple times to supply more than one value
  </definition>
  <definition term="--repo string">
    GitHub repository name.
  </definition>
  <definition term="--strip-title-prefix">
    Strip a repo-name prefix from the title.
    **Default:** `false`
  </definition>
  <definition term="--strict-fetch">
    Treat GitHub fetch failures as errors.
    **Default:** `false`
  </definition>
  <definition term="--subtype string">
    Entry subtype.
  </definition>
  <definition term="--title string">
    A short, user-facing headline (max 80 characters). Required.
  </definition>
  <definition term="--type string">
    The type of change. For valid values, see [ChangelogEntryType.cs](https://github.com/elastic/docs-builder/blob/main/src/Elastic.Documentation/ChangelogEntryType.cs). Required.
  </definition>
  <definition term="-l --log-level enum">
    Minimum log level.
    **Values:** trace, debug, information, warning, error, critical, none
    **Default:** `information`
  </definition>
  <definition term="-c --config-source enum">
    Override the configuration source: local, remote
    **Values:** local, remote, embedded
  </definition>
  <definition term="--skip-private-repositories">
    Skip cloning private repositories
  </definition>
</definitions>


## Global Options

<definitions>
  <definition term="-l --log-level enum">
    Minimum log level.
    **Values:** trace, debug, information, warning, error, critical, none
    **Default:** `information`
  </definition>
  <definition term="-c --config-source enum">
    Override the configuration source: local, remote
    **Values:** local, remote, embedded
  </definition>
  <definition term="--skip-private-repositories">
    Skip cloning private repositories
  </definition>
</definitions>


## Product and version format

The `--products` option uses the same positional slots as `changelog add`, but the middle slot is a `|`-separated version list and is required:
- `"elasticsearch 9.3.0 ga"` — one version
- `"elasticsearch 9.3.0|9.4.0|9.5.0 ga"` — multiple versions
- `"cloud-serverless 2025-08-05"` — date-based release, one version

A changelog that spans products can declare each product separately:
```sh
docs-builder changelog note \
  --title "Known issue with aggregations" \
  --type known-issue \
  --products "elasticsearch 9.3.0|9.4.0 ga" \
  --products "kibana 9.3.0|9.4.0 ga"
```


## Output

The command writes a `note-{slug}.yml` file to the configured output directory:
```yaml
title: Known issue with aggregations
type: known-issue
products:
  - product: elasticsearch
    versions: [9.3.0, 9.4.0]
    lifecycle: ga
```


## After creation

Upload is the same as for other changelog YAML files.
An index at `changelog/{org}/{repo}/notes-{version}.json` lists every changelog "note" file that applies to each version.
If the release bundle for that product and version or date has already shipped when you upload, the scrubber generates an amend file so the changelog reaches published docs without a manual rerun.
If there is no existing or planned bundle for that product and version or date, you can create a bundle from a path list that contains all the relevant changelogs. Refer to [Bundle by file paths](/docs-builder/cli/changelog/bundle#changelog-bundle-files).

## Configuration checks

The same configuration-file checks that apply to `changelog add` apply here:
valid `products`, `lifecycles`, and `type` values are validated against `docs/changelog.yml` when it exists.
A version in `--products` for `changelog add` is an error; use `changelog note` instead.