INFO

This API documentation is for FAKE version 5.0 or later. The old API documentation can be found here for migration or here for fake 4

This is part of the Fake.Core.ReleaseNotes module.

Changelog

Contains helpers which allow to parse Change log text files. These files have to be in a format as described on http://keepachangelog.com/en/0.1.0/

Sample

 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
let changelogFile = "CHANGELOG.md"
let newVersion = "1.0.0"

Target.create "AssemblyInfo" (fun _ ->
    let changelog = changeLogFile |> Changelog.load
    CreateFSharpAssemblyInfo "src/Common/AssemblyInfo.fs"
      [ Attribute.Title project
        Attribute.Product project
        Attribute.Description summary
        Attribute.Version changelog.LatestEntry.AssemblyVersion
        Attribute.FileVersion changelog.LatestEntry.AssemblyVersion]
)

Target.create "Promote Unreleased to new version" (fun _ ->
    let newChangelog = 
        changelogFile 
        |> ChangeLog.load
        |> ChangeLog.promoteUnreleased newVersion
        |> ChangeLog.save changelogFile
)
val changelogFile : string
val newVersion : string

Nested types and modules

Functions and values

Function or valueDescription
create(description unreleased entries)
Signature: description:string option -> unreleased:Unreleased option -> entries:ChangelogEntry list -> Changelog
createWithCustomHeader(...)
Signature: header:string -> description:string option -> unreleased:Unreleased option -> entries:ChangelogEntry list -> Changelog
fromEntries(entries)
Signature: entries:ChangelogEntry list -> Changelog
load(filename)
Signature: filename:string -> Changelog

Parses a Changelog text file and returns the lastest changelog.

Parameters

  • filename - Changelog text file name

Returns

The loaded changelog (or throws an exception, if the changelog could not be parsed)

parse(data)
Signature: data:seq<string> -> Changelog

Parses a change log text and returns the change log.

Parameters

  • data - change log text
parseVersions(line)
Signature: line:string -> Match * Match
promoteUnreleased(version changelog)
Signature: version:string -> changelog:Changelog -> Changelog

Promotes the Unreleased section of a changelog to a new changelog entry with the given version

Parameters

  • version - The version (in NuGet-Version format, e.g. 3.13.4-alpha1.212
  • changelog - The changelog to promote

Returns

The promoted changelog

save(filename changelog)
Signature: filename:string -> changelog:Changelog -> unit

Saves a Changelog to a text file.

Parameters

  • filename - Changelog text file name
  • changelog - the changelog data