Skip to content

Tags: lduchosal/ipnetwork

Tags

4.3.0

Toggle 4.3.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: re-enable netstandard2.0 with Windows/net48 CI gate (#412)

* feat: re-enable netstandard2.0 target on IPNetwork library

ns2.0 lets the library be consumed by .NET Framework 4.6.1+ and other
ns2.0-compatible runtimes. Source compat changes:

- Polyfills.cs: internal NotNullWhenAttribute shim under #if NETSTANDARD2_0
- UniqueLocalAddress: SHA256.HashData is .NET 5+; widen the
  ComputeHash fallback from #if NETSTANDARD2_1 to #if NETSTANDARD
- IPNetwork2WideSubnet: replace nnin[^1] with nnin[Length-1]
  (System.Index is ns2.1+)
- CidrNetworkAware: Contains(char) is .NET Core 2.1+; use IndexOf and
  add null-forgive since string.IsNullOrWhiteSpace lacks [NotNullWhen]
  annotation on ns2.0

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* ci: add Windows net48 job to gate netstandard2.0 build

Multi-target TestProject to net10.0;net48 so the net48 build links
against the library's ns2.0 output. This is the only CI path that
actually loads the ns2.0 DLL — without it, the new ns2.0 target
ships untested.

- TestProject.csproj: net10.0;net48; ConsoleApplication ref is
  net10.0-only (the CLI only targets net10.0); ArchitectureTest,
  ConsoleUnitTest, ConsoleJsonOutputTest excluded from net48
  (they test the CLI, not the library)
- IPAddressExtensionTests: SHA256.HashData fallback for non-.NET 5+
- dotnet.yml: new windows-net48 job runs TestProject.exe under net48

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* ci: use dotnet test for net48 job

EnableMSTestRunner=true doesn't emit a TestProject.exe on net48,
so the previous invocation path didn't exist. dotnet test handles
both VSTest hosting on .NET Framework and the platform bridge.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* ci: emit TestProject.exe for net48 and run directly

dotnet test no longer bridges to VSTest under Microsoft.Testing.Platform
on .NET 10 SDK. Easiest path: explicit OutputType=Exe so net48 produces
TestProject.exe (net10.0 still produces TestProject.dll, unaffected).
Workflow runs the exe via the pwsh call operator.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

4.2.0

Toggle 4.2.0's commit message
Release 4.2.0

4.1.1

Toggle 4.1.1's commit message
fix: NullReferenceException on IPv6 /128 networks in CLI output

Removed redundant .ToString() calls on nullable properties (Broadcast,
FirstUsable, LastUsable, Network, Netmask). string.Format handles null
safely, .ToString() on null does not.

Also fixed release workflow: macos-13 runner retired, --skip-duplicate
for NuGet push.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

4.1.0

Toggle 4.1.0's commit message
fix: use macos-latest for osx-x64 build, add --skip-duplicate to nuge…

…t push

macos-13 runners are no longer available. AOT cross-compiles to osx-x64
from ARM64 runners via --runtime flag.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

4.0.2

Toggle 4.0.2's commit message
feat: nuggets / upgrade

4.0.1

Toggle 4.0.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #385 from lduchosal/feat/v4-remove-obsoletes

feat!: remove obsolete static methods

4.0.0

Toggle 4.0.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #384 from lduchosal/feat/v4-nullable

feat!: complete IANA reserved block coverage (#376)

3.5.3

Toggle 3.5.3's commit message
feat: sponsors

3.5.2

Toggle 3.5.2's commit message
feat: github / coverall

3.5.1

Toggle 3.5.1's commit message
feat: github / release / choco / nuget