Skip to content

Releases

v2.0.1-beta.1

v2.0.1-beta.1 Pre-release
Pre-release

Choose a tag to compare

@StevenTCramer StevenTCramer released this 14 Nov 05:57

What's Changed

Full Changelog: v2.0.0...v2.0.1-beta.1

v2.0.0

Choose a tag to compare

@StevenTCramer StevenTCramer released this 11 Nov 12:47

What's Changed

  • feat!: retarget TimeWarp.Build.Tasks to net11.0 and release as 2.0.0 by @StevenTCramer in #11

Full Changelog: v1.0.2...v2.0.0

v1.0.2

Choose a tag to compare

@StevenTCramer StevenTCramer released this 11 Nov 08:50

What's Changed

  • build: drop TimeWarp.SourceGenerators analyzer to break core-repo cycle by @StevenTCramer in #10

Full Changelog: v1.0.1...v1.0.2

v1.0.1

Choose a tag to compare

@StevenTCramer StevenTCramer released this 11 Nov 07:26

What's Changed

Full Changelog: v1.0.0...v1.0.1

v1.0.0

Choose a tag to compare

@StevenTCramer StevenTCramer released this 14 Oct 07:32
b2db1d0

TimeWarp.Build.Tasks v1.0.0 🎉

First stable release of the MSBuild tasks package for git metadata injection.

Features

GitMetadataTask

  • Automatic git metadata injection: Embeds commit hash and date into assemblies at build time
  • CommitHash attribute: Full SHA-1 commit hash
  • CommitDate attribute: Commit timestamp in ISO 8601 format (yyyy-MM-ddTHH:mm:ss)
  • Transitive support: Works for both direct and transitive dependencies
  • Graceful fallback: Handles missing git with default values
  • Configurable: Can be disabled by setting TimeWarpEnableGitMetadata=false

Installation

dotnet add package TimeWarp.Build.Tasks --version 1.0.0

Or in your .csproj:

<PackageReference Include="TimeWarp.Build.Tasks" Version="1.0.0" />

Usage

The task runs automatically during build. Access metadata in your code:

using System.Reflection;

var assembly = typeof(Program).Assembly;
var commitHash = assembly.GetCustomAttributes<AssemblyMetadataAttribute>()
    .FirstOrDefault(a => a.Key == "CommitHash")?.Value;
var commitDate = assembly.GetCustomAttributes<AssemblyMetadataAttribute>()
    .FirstOrDefault(a => a.Key == "CommitDate")?.Value;

Console.WriteLine($"Built from commit: {commitHash}");
Console.WriteLine($"Commit date: {commitDate}");

Disable Globally

Add to your .csproj or Directory.Build.props:

<PropertyGroup>
  <TimeWarpEnableGitMetadata>false</TimeWarpEnableGitMetadata>
</PropertyGroup>

Package Details

Release History

  • beta.1: Initial release with git metadata injection
  • beta.2: Added explicit AssemblyName for consistent DLL naming
  • beta.3: Fixed transitive dependency support
  • beta.4: Fixed assembly metadata injection timing
  • 1.0.0: Stable release with all features validated

🤖 Generated with Claude Code

v1.0.0-beta.4

Choose a tag to compare

@StevenTCramer StevenTCramer released this 13 Oct 19:13
acca820

TimeWarp.Build.Tasks v1.0.0-beta.4

Changes in beta.4

Bug Fixes

  • Fix assembly metadata injection: Changed target timing from BeforeTargets="CoreCompile" to BeforeTargets="GetAssemblyAttributes;GenerateAssemblyInfo". This critical fix ensures that git commit metadata is actually embedded into assemblies. Previous beta versions retrieved the git data but didn't properly inject it into the compiled output.

Features

GitMetadataTask

  • Automatically injects git commit metadata into assemblies at build time
  • Adds CommitHash assembly metadata attribute
  • Adds CommitDate assembly metadata attribute in ISO 8601 format
  • Gracefully handles missing git with fallback values
  • Can be disabled by setting TimeWarpEnableGitMetadata=false

Installation

dotnet add package TimeWarp.Build.Tasks --version 1.0.0-beta.4

Usage

The task runs automatically during build. Access metadata in code:

using System.Reflection;

var assembly = typeof(Program).Assembly;
var commitHash = assembly.GetCustomAttributes<AssemblyMetadataAttribute>()
    .FirstOrDefault(a => a.Key == "CommitHash")?.Value;
var commitDate = assembly.GetCustomAttributes<AssemblyMetadataAttribute>()
    .FirstOrDefault(a => a.Key == "CommitDate")?.Value;

Console.WriteLine($"Built from commit: {commitHash}");
Console.WriteLine($"Commit date: {commitDate}");

Package Details

  • Target Framework: netstandard2.0
  • Package Type: Build-time dependency (DevelopmentDependency)
  • License: Unlicense

🤖 Generated with Claude Code

v1.0.0-beta.3

Choose a tag to compare

@StevenTCramer StevenTCramer released this 13 Oct 18:36
fbc2b28

TimeWarp.Build.Tasks v1.0.0-beta.3

Changes in beta.3

Bug Fixes

  • Fix transitive dependency support: Package the task DLL in both build/netstandard2.0/ and buildTransitive/netstandard2.0/ folders. This ensures projects that transitively depend on a project using TimeWarp.Build.Tasks can properly load the GitMetadataTask.

Features

GitMetadataTask

  • Automatically injects git commit metadata into assemblies at build time
  • Adds CommitHash assembly metadata attribute
  • Adds CommitDate assembly metadata attribute in ISO 8601 format
  • Gracefully handles missing git with fallback values
  • Can be disabled by setting TimeWarpEnableGitMetadata=false

Installation

dotnet add package TimeWarp.Build.Tasks --version 1.0.0-beta.3

Usage

The task runs automatically during build. Access metadata in code:

var commitHash = Assembly.GetExecutingAssembly()
    .GetCustomAttribute<AssemblyMetadataAttribute>("CommitHash")?.Value;
var commitDate = Assembly.GetExecutingAssembly()
    .GetCustomAttribute<AssemblyMetadataAttribute>("CommitDate")?.Value;

Package Details

  • Target Framework: netstandard2.0
  • Package Type: Build-time dependency (DevelopmentDependency)
  • License: Unlicense

🤖 Generated with Claude Code

v1.0.0-beta.2

Choose a tag to compare

@StevenTCramer StevenTCramer released this 13 Oct 18:08
57872b6

TimeWarp.Build.Tasks v1.0.0-beta.2

Changes in beta.2

Bug Fixes

  • Add explicit AssemblyName: Ensures the compiled DLL is named TimeWarp.Build.Tasks.dll instead of timewarp-build-tasks.dll, matching package expectations and references in the .props file.

Features

GitMetadataTask

  • Automatically injects git commit metadata into assemblies at build time
  • Adds CommitHash assembly metadata attribute
  • Adds CommitDate assembly metadata attribute in ISO 8601 format
  • Gracefully handles missing git with fallback values
  • Can be disabled by setting TimeWarpEnableGitMetadata=false

Installation

dotnet add package TimeWarp.Build.Tasks --version 1.0.0-beta.2

Usage

The task runs automatically during build. Access metadata in code:

var commitHash = Assembly.GetExecutingAssembly()
    .GetCustomAttribute<AssemblyMetadataAttribute>("CommitHash")?.Value;
var commitDate = Assembly.GetExecutingAssembly()
    .GetCustomAttribute<AssemblyMetadataAttribute>("CommitDate")?.Value;

Package Details

  • Target Framework: netstandard2.0
  • Package Type: Build-time dependency (DevelopmentDependency)
  • License: Unlicense

🤖 Generated with Claude Code

v1.0.0-beta.1

Choose a tag to compare

@StevenTCramer StevenTCramer released this 13 Oct 17:30
2bebc13

TimeWarp.Build.Tasks v1.0.0-beta.1

Initial beta release of the MSBuild tasks package.

Features

GitMetadataTask

  • Automatically injects git commit metadata into assemblies at build time
  • Adds CommitHash assembly metadata attribute
  • Adds CommitDate assembly metadata attribute in ISO 8601 format
  • Gracefully handles missing git with fallback values
  • Can be disabled by setting TimeWarpEnableGitMetadata=false

Installation

dotnet add package TimeWarp.Build.Tasks --version 1.0.0-beta.1

Usage

The task runs automatically during build. Access metadata in code:

var commitHash = Assembly.GetExecutingAssembly()
    .GetCustomAttribute<AssemblyMetadataAttribute>("CommitHash")?.Value;
var commitDate = Assembly.GetExecutingAssembly()
    .GetCustomAttribute<AssemblyMetadataAttribute>("CommitDate")?.Value;

Package Details

  • Target Framework: netstandard2.0
  • Package Type: Build-time dependency (DevelopmentDependency)
  • License: Unlicense

🤖 Generated with Claude Code