Skip to content

Releases: TimeWarpEngineering/timewarp-amuru

v1.0.0-beta.32

26 Apr 15:34
2d6cd4b

Choose a tag to compare

What's Changed

  • Removed the NuGet.Protocol dependency chain from Amuru to avoid exposing Newtonsoft.Json to AOT consumers.
  • Replaced package version lookup with direct NuGet registration metadata calls while keeping NuGet.Versioning semantics.
  • Excluded unlisted package versions by using registration metadata instead of flat-container listings.

🤖 Generated with opencode

Co-Authored-By: opencode noreply@opencode.ai

v1.0.0-beta.31

25 Apr 16:41
ec52007

Choose a tag to compare

What's Changed

  • chore: Update NuGet.* packages (7.3.0 → 7.3.1) and Microsoft.CodeAnalysis.NetAnalyzers (10.0.201 → 10.0.203)
  • fix: Add NU1902 to NoWarn in tools/Directory.Build.props to prevent dev-cli build failures from transitive dependency vulnerability warnings (e.g., OpenTelemetry packages). The warnings are in dev tooling dependencies, not the Amuru library itself.

🤖 Generated with opencode

Co-Authored-By: opencode noreply@opencode.ai

v1.0.0-beta.30

14 Apr 20:54
367ef4f

Choose a tag to compare

What's Changed

feat: disable StreamJsonRpc-based JSON-RPC to unblock AOT consumers (#74)

  • Temporarily disable the current StreamJsonRpc-based JSON-RPC feature slice in Amuru so downstream AOT consumers no longer inherit the old StreamJsonRpc -> Newtonsoft.Json path
  • Disable JSON-RPC tests and sample to match the temporary feature removal while the replacement is developed
  • Improve dev-cli failure behavior:
    • report actual sample build failures instead of noisy CliWrap validation exceptions
    • stop the workflow immediately after the first failed step instead of continuing

Tasks and follow-up tracking

  • Added task 083 for replacing StreamJsonRpc with an Amuru-native minimal JSON-RPC client
  • Added task 084 for the temporary AOT unblock work
  • Updated kanban/task state for related cleanup work

Verification

  • dotnet build source/timewarp-amuru/timewarp-amuru.csproj
  • ./bin/dev check-version
  • CI workflow updates validated locally in dev-cli

Follow-up

  • Update TimeWarp.Nuru to consume this newer Amuru version
  • Re-evaluate whether dev-cli IL2104 / IL3053 suppressions are still needed after Nuru stops depending on old Amuru

Full Changelog: v1.0.0-beta.29...v1.0.0-beta.30

v1.0.0-beta.29

13 Apr 11:31
a0504b4

Choose a tag to compare

What's Changed

feat: Replace NuGet CLI lookup with NuGet Protocol API (#73)

  • Replace dotnet package search CLI calls with NuGet.Protocol FindPackageByIdResource.GetAllVersionsAsync() — fixes prerelease packages being reported as "not found" and eliminates per-package process startup overhead
  • Upgrade NuGet packages to 7.3.0 — uses System.Text.Json instead of Newtonsoft.Json

Fixes

  • Fix RS0030 violations — replaced all ProcessStartInfo usage with Shell.Builder in tests and dev-cli
  • Fix prerelease package detectionganda nuget outdated no longer shows prerelease packages as "(not found on NuGet)"

Style

  • Kebab-case file renames across source/timewarp-amuru/core/ and source/timewarp-amuru/nu-get/
  • Consolidated global-usings.cs into single project-level file
  • Collocated source documentation with richer #region Purpose/Design/Responsibilities blocks
  • Deleted stale sidecar markdown docs (command-extensions.md, command-result.md)
  • AGENTS.md updated to reflect dev-cli uses Shell.Builder

Chores

  • ModelContextProtocol.Core updated to 1.0.0
  • Dev-cli: TreatWarningsAsErrors enabled, global-usings.cs added to compilation, trim warnings suppressed
  • *.lscache added to .gitignore

Full Changelog: v1.0.0-beta.28...v1.0.0-beta.29

v1.0.0-beta.28

26 Mar 01:59
05c5632

Choose a tag to compare

What's Changed

Breaking Changes

  • Removed config-related files - IRepoConfigService, RepoConfigService, RepoConfig, and RepoConfigJsonContext have been deleted. These were application-level concerns that didn't belong in the Amuru library.

  • Refactored IRepoCheckVersionService - The single CheckAsync method with strategy switching has been replaced with two focused methods:

    • CheckGitTagVersionAsync(string? tag = null, CancellationToken)GitTagCheckResult
    • CheckNuGetVersionAsync(IReadOnlyList<string> packages, CancellationToken)NuGetCheckResult

Migration Guide

Before:

CheckVersionResult result = await service.CheckAsync(strategy: "nuget-search", package: "My.Package");

After:

NuGetCheckResult result = await service.CheckNuGetVersionAsync(["My.Package"]);
// or
GitTagCheckResult result = await service.CheckGitTagVersionAsync();

Other Changes

  • Removed "ganda" branding leak from public repo
  • Updated dev-cli check-version command to use new API

Full Changelog: v1.0.0-beta.27...v1.0.0-beta.28

v1.0.0-beta.27

24 Mar 23:37
73461fb

Choose a tag to compare

What's Changed

New Features

  • Added NuGet.Versioning 6.11.0 package reference (AOT compatible)
  • Extended INuGetPackageService with 4 new methods for semantic version handling
  • Added PackageVersionInfo record for stable/prerelease version tracking

New API

public interface INuGetPackageService
{
  // Existing
  Task<NuGetSearchResult?> SearchAsync(string packageId, CancellationToken cancellationToken);
  
  // New
  Task<PackageVersionInfo?> GetLatestVersionsAsync(string packageId, CancellationToken cancellationToken);
  string? ParseVersion(string version);
  int CompareVersions(string version1, string version2);
  string GetUpdateType(string currentVersion, string latestVersion);
}

Bug Fixes

  • Refactored RepoCheckVersionService to use proper semantic comparison instead of broken string.Compare

Tests

  • Added 22 new tests (26 total, all passing)

Full Changelog: v1.0.0-beta.25...v1.0.0-beta.27

v1.0.0-beta.25

24 Mar 16:34
8e78942

Choose a tag to compare

v1.0.0-beta.25 Pre-release
Pre-release

What's Changed

Full Changelog: v1.0.0-beta.24...v1.0.0-beta.25

v1.0.0-beta.24

24 Mar 16:33
c45d1dd

Choose a tag to compare

v1.0.0-beta.24 Pre-release
Pre-release

What's Changed

  • feat: enrich CheckVersionResult with strategy, latest tag/version, and checked packages by @StevenTCramer in #60
  • chore: bump version to 1.0.0-beta.24 by @StevenTCramer in #61
  • fix: release pipeline fails silently when version already exists by @StevenTCramer in #62
  • fix: move check-version from release to PR workflow by @StevenTCramer in #63
  • fix: add --no-symbols to nuget push to avoid empty snupkg rejection by @StevenTCramer in #64

Full Changelog: v1.0.0-beta.23...v1.0.0-beta.24

v1.0.0-beta.23

24 Mar 14:45
7ef506e

Choose a tag to compare

v1.0.0-beta.23 Pre-release
Pre-release

Bug Fix

  • fix: check-version git-tag strategy uses exact tag lookup instead of git describe — Replaced git describe --tags --abbrev=0 with git tag -l "v{version}" in both RepoCheckVersionService and the dev CLI check-version command. The old approach found the nearest ancestor tag reachable from HEAD, giving incorrect results on feature branches and causing failed NuGet pushes (409 Conflict). Fixes #57.

v1.0.0-beta.22

22 Mar 19:55
f3d739d

Choose a tag to compare

What's Changed

RS0030 Fix - Console → ITerminal Migration

  • Migrated all Console.WriteLine/Error/Write calls to TimeWarpTerminal.Default
  • Updated CliWrap (3.10.0 → 3.10.1) and TimeWarp.Terminal (1.0.0-beta.10 → 1.0.0-beta.12)
  • Removed RS0030 suppression from Directory.Build.props

Repository Audit Cleanup (Task 074)

  • Renamed Source/ to source/ for kebab-case convention
  • Removed unused packages: Blockcore.Nostr.Client, TimeWarp.Multiavatar
  • Added BannedSymbols.txt with T:System.Console ban
  • Deleted obsolete scripts/, Spikes/, Analysis/ directories

Dev-CLI Improvements (Task 075)

  • Added repo services: RepoCheckVersionService, RepoCleanService, RepoConfigService
  • Added NuGetPackageService for package version checking
  • Renamed ci command to workflow command

Analyzer Fixes

  • CA1062: Added ArgumentNullException.ThrowIfNull() to 9 methods
  • CA1031: Added targeted [SuppressMessage] attributes with justifications

Full Changelog: v1.0.0-beta.21...v1.0.0-beta.22