Skip to content

Add new syntax for per-release optional metadata #3

@mergesort

Description

@mergesort

Currently the markdown spec is simple, using # prefixes for release information and - field: syntax for individual features.

# Version Number: [String] (Supports arbitrary number formats such as 1, 1.0, or 1.0.0)
## Release Title: [String]
### Semantic Version Change Type: [Major | Minor | Patch]

- title: [String] (Feature Title)
- description: [String] (Feature Description)
- symbol: [String] (SF Symbol Identifier)
- color: [String] (Hex Color Code)

As the desire to add fields to releases grows (such as a new release field for a header image (#1) or a new date field (#2)), there will need to be a way to define release-specific metadata. To accommodate new fields I propose adding a new #### prefix for optional metadata.

To specify individual metadata fields, the format would take inspiration from the feature syntax, creating a new format like this:

#### image: [String]
#### date: [String] (YYYY-MM-DD)

After that it should become be possible to add as many metadata fields to a release as necessary. These fields are optional, so if the parser does not parse a #### field, there will be a sensible default defined by the library.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions