https://github.com/sandrofigo/keepachangelog.io
A .NET library for reading and writing https://keepachangelog.com/ files.
https://github.com/sandrofigo/keepachangelog.io
changelog csharp dotnet formatting keepachangelog parser reader validation writer
Last synced: 16 days ago
JSON representation
A .NET library for reading and writing https://keepachangelog.com/ files.
- Host: GitHub
- URL: https://github.com/sandrofigo/keepachangelog.io
- Owner: sandrofigo
- License: mit
- Created: 2025-08-24T18:31:13.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2026-05-30T18:05:40.000Z (26 days ago)
- Last Synced: 2026-05-30T20:07:33.593Z (26 days ago)
- Topics: changelog, csharp, dotnet, formatting, keepachangelog, parser, reader, validation, writer
- Language: C#
- Homepage:
- Size: 52.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# KeepAChangelog.IO
[](https://www.nuget.org/packages/KeepAChangelog.IO/)
[](https://www.nuget.org/packages/KeepAChangelog.IO/)
[](https://github.com/sandrofigo/KeepAChangelog.IO/actions/workflows/test.yml)
[](https://github.com/sandrofigo/KeepAChangelog.IO)
A .NET library for reading and writing files in the https://keepachangelog.com/ format.
## Features
- Parse changelog files into a strongly-typed model
- Write new changelogs or update existing ones
- Validate changelog formatting and structure
- Zero dependencies
## Usage
### Read from a file
```csharp
using KeepAChangelog.IO;
var changelog = Changelog.From("CHANGELOG.md");
```
### Write to a file
```csharp
changelog.ToFile("CHANGELOG.md");
```
### Create a changelog from scratch
```csharp
var changelog = Changelog.Create();
```
### Access different parts of the changelog
```csharp
using System.Linq;
using KeepAChangelog.IO;
var latestRelease = changelog.Releases[0];
var latestFixes = latestRelease.Categories.First(c => c.Type == CategoryType.Fixed).Entries;
// ...
```
## Contributing
Support this project with a ⭐️, open an issue or if you feel adventurous and would like to extend the functionality open a pull request.