2.3.3.5.2. Changelogs

  • Relative Filepath[1]: dev/changelog.yaml

  • Pre-configured: True

[1]: Filepath is relative to the root of the control center directory.

$schema: https://json-schema.org/draft/2020-12/schema
title: Changelog Configurations
description: Project's changelog templates and paths
type: object
default: {}
additionalProperties:
  $ref: "#/definitions/changelog_schema"
properties:
  package_public:
    type: object
    default: {}
    additionalProperties: false
    properties:
      name:
        type: string
        default: Public API
      path:
        type: string
        default: CHANGELOG.md
      title:
        type: string
        default: "${{name}} Changelog (Public API)"
      intro:
        type: string
        default: |
          All notable changes to this project will be documented in this file.

          The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
          and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
      entry:
        type: object
        default: {}
        additionalProperties: false
        properties:
          title:
            type: string
            minLength: 1
            default: "[{ver_dist}]  {date}"
          intro:
            type: string
            minLength: 1
            default: |
              - Commit Type: {commit_type}
              - Commit Title: {commit_title}
              - Parent Commit: [{parent_commit_hash}]({parent_commit_url})
        required: [ title, intro ]
      sections:
        type: array
        default:
          - id: removed
            title: ⛔ Removed Features
            description: |
              Features that have been removed from the public API.
          - id: changed
            title: 🚫 Changed Features
            description: |
              Features that have been changed in the public API.
          - id: deprecated
            title: ⚠️ Deprecated Features
            description: |
              Features that have been deprecated in the public API.
          - id: added
            title: 🌱 New Features
            description: |
              Features that have been added to the public API.
          - id: enhanced
            title: ✨ Enhanced Features
            description: |
              Features that have been enhanced in the public API.
          - id: security
            title: 🛡️ Security Fixes
            description: |
              Security fixes that have been applied to the public API.
          - id: fixed
            title: 🐞 Bug Fixes
            description: |
              Bug fixes that have been applied to the public API.
          - id: improved
            title: 🚀 Performance Improvements
            description: |
              Performance improvements that have been applied to the public API.
          - id: docs
            title: 📝 Docstring Fixes
            description: |
              Docstring fixes that have been applied to the public API.
          - id: notes
            title: 📔️ Release-Notes Fixes
            description: |
              Release-Notes fixes that have been applied to the public API.
        items:
          type: object
          additionalProperties: false
          properties:
              id:
                type: string
              title:
                type: string
              description:
                type: string
          required: [id, title, description]
    required: [name, path, title, intro, entry, sections]
  package_public_prerelease:
    type: object
    default: { }
    additionalProperties: false
    properties:
      name:
        type: string
        default: Public API (Pre-release)
      path:
        type: string
        default: CHANGELOG_PRERELEASE.md
      title:
        type: string
        default: "${{name}} Changelog (Public API)"
      intro:
        type: string
        default: |
          All notable changes to this project will be documented in this file.

          The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
          and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
      entry:
        type: object
        default: { }
        additionalProperties: false
        properties:
          title:
            type: string
            minLength: 1
            default: "[{ver_dist}]  {date}"
          intro:
            type: string
            minLength: 1
            default: |
              - Commit Type: {commit_type}
              - Commit Title: {commit_title}
              - Parent Commit: [{parent_commit_hash}]({parent_commit_url})
        required: [ title, intro ]
    required: [ name, path, title, intro, entry ]
required: [ package_public, package_public_prerelease ]

definitions:
  changelog_schema:
    type: object
    additionalProperties: false
    properties:
      name:
        type: string
        minLength: 1
      path:
        type: string
        minLength: 1
      title:
        type: string
        minLength: 1
        default: "Changelog"
      intro:
        type: string
        minLength: 1
        default: ""
      entry:
        type: object
        default: {}
        additionalProperties: false
        properties:
          title:
            type: string
            minLength: 1
            default: "[{ver_dist}]  {date}"
          intro:
            type: string
            minLength: 1
            default: |
              - Commit Type: {commit_type}
              - Commit Title: {commit_title}
              - Parent Commit: [{parent_commit_hash}]({parent_commit_url})
        required: [title, intro]
      sections:
        type: array
        minItems: 1
        items:
          type: object
          additionalProperties: false
          properties:
            id:
              type: string
            title:
              type: string
            description:
              type: string
          required: [id, title, description]
    required: [name, title, path, intro, entry, sections]
package_public:
  name: Public API
  path: CHANGELOG.md
  title: ${{name}} Changelog (Public API)
  intro: "All notable changes to this project will be documented in this file.\n\n
    The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),\n
    and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\n"
  entry:
    title: '[{ver_dist}]  {date}'
    intro: "- Commit Type: {commit_type}\n- Commit Title: {commit_title}\n- Parent
      Commit: [{parent_commit_hash}]({parent_commit_url})\n"
  sections:
  - id: removed
    title: ⛔ Removed Features
    description: "Features that have been removed from the public API.\n"
  - id: changed
    title: 🚫 Changed Features
    description: "Features that have been changed in the public API.\n"
  - id: deprecated
    title: ⚠️ Deprecated Features
    description: "Features that have been deprecated in the public API.\n"
  - id: added
    title: 🌱 New Features
    description: "Features that have been added to the public API.\n"
  - id: enhanced
    title: ✨ Enhanced Features
    description: "Features that have been enhanced in the public API.\n"
  - id: security
    title: 🛡️ Security Fixes
    description: "Security fixes that have been applied to the public API.\n"
  - id: fixed
    title: 🐞 Bug Fixes
    description: "Bug fixes that have been applied to the public API.\n"
  - id: improved
    title: 🚀 Performance Improvements
    description: "Performance improvements that have been applied to the public API.\n"
  - id: docs
    title: 📝 Docstring Fixes
    description: "Docstring fixes that have been applied to the public API.\n"
  - id: notes
    title: 📔️ Release-Notes Fixes
    description: "Release-Notes fixes that have been applied to the public API.\n"
package_public_prerelease:
  name: Public API (Pre-release)
  path: CHANGELOG_PRERELEASE.md
  title: ${{name}} Changelog (Public API)
  intro: "All notable changes to this project will be documented in this file.\n\n
    The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),\n
    and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\n"
  entry:
    title: '[{ver_dist}]  {date}'
    intro: "- Commit Type: {commit_type}\n- Commit Title: {commit_title}\n- Parent
      Commit: [{parent_commit_hash}]({parent_commit_url})\n"