Skip to content

Releases: PerfectlyNormal/TypeContractor

v0.21.0

Choose a tag to compare

@PerfectlyNormal PerfectlyNormal released this 14 Jun 08:38

Added

  • Allow TypeContractorIgnore to be used on controller methods
  • Include IsGet/IsPost/IsPut/IsPatch/IsDelete
    in API endpoint template DTOs

Fixed

  • Don't set RequireBody for API endpoints using DELETE
  • await all requests in the React template

v0.20.0

Choose a tag to compare

@PerfectlyNormal PerfectlyNormal released this 14 Jun 08:37

Added

  • Simplified response for generated API clients using the React template (#203)
  • Add default maps for unsigned numbers (#180)
  • Apply TypeContractorIgnore to properties
  • Add support for converting classes with constants (#196)
  • Add support for specifying additional assemblies to look in

Fixed

  • Do case-insensitive file compare when smart cleaning (#203)
  • Fix unwrapping Zod schemas for nullable record structs (#207)
  • Avoid potential null references when logging custom attribute errors

Changed

  • Update the way we handle enums when generating Zod schemas (#202)
  • Use SLNX for the solution file
  • Update dependencies

v0.19.0

Choose a tag to compare

@PerfectlyNormal PerfectlyNormal released this 07 Mar 19:02

Added

  • Support for .NET10 (#188)

Changed

  • Set .NET10 as the default version
  • Update dependencies

v0.18.0

Choose a tag to compare

@PerfectlyNormal PerfectlyNormal released this 04 Jan 17:09

Fixed

  • Add better handling of FileLoadException when looking at custom attributes (#176)
  • Write a newline after the exception when logging the error
  • Improve detection of generic arguments for classes quacking like a
    Dictionary, or other generic arguments
  • Make sure we don't generate an interface for IActionResult

Changed

  • Move to xUnit v3 (#162)
  • Generate Zod v4 schemas (#168)
  • Use globalThis.Response instead of Response to avoid conflicts (#147)
  • Set kebab-case as the default casing (#166)
  • Update System.CommandLine to 2.0.1 (#163, #185)
  • Update dependencies (#184, #181)

v0.17.4.1

Choose a tag to compare

@PerfectlyNormal PerfectlyNormal released this 03 Oct 17:34

[0.17.4.1] - 2025-09-19

Fixed

  • Order list of loaded assemblies when logging a FileLoadException, but, like, really this time.

[0.17.4] - 2025-09-19

Fixed

  • Make detecting and unwrapping arrays more reliable

Changed

  • Bump System.Reflection.MetadataLoadContext from 9.0.5 to 9.0.9
  • Add default map from System.Uri to string
  • Order list of loaded assemblies when logging a FileLoadException

v0.17.3

Choose a tag to compare

@PerfectlyNormal PerfectlyNormal released this 12 Jun 14:43

Fixed

  • Always use uppercase HTTP verbs (#149)

Changed

  • Bump dependencies

v0.17.2

Choose a tag to compare

@PerfectlyNormal PerfectlyNormal released this 12 Jun 14:42

Fixed

  • Avoid unnecessary import of Zod library (#139)

v0.17.1

Choose a tag to compare

@PerfectlyNormal PerfectlyNormal released this 12 Apr 12:29

Fixed

  • Handle array properties (SomeDto[]) properly (#140)
  • Avoid duplicate imports for endpoints having the return type as a parameter type (#139)

Changed

  • Bump System.Reflection.MetadataLoadContext from 9.0.0 to 9.0.3
  • Bump Microsoft.NET.Test.Sdk from 17.12.0 to 17.13.0
  • Bump coverlet.collector from 6.0.2 to 6.0.4
  • Bump xunit.runner.visualstudio from 3.0.0 to 3.0.2
  • Bump xunit.analyzers and xunit

v0.17.0

Choose a tag to compare

@PerfectlyNormal PerfectlyNormal released this 16 Feb 09:23

Added

  • Better support for generic types (#123)

Fixed

  • Allow enums to be used as query parameters in API clients (#133)

v0.16.0

Choose a tag to compare

@PerfectlyNormal PerfectlyNormal released this 17 Dec 03:42

Added

  • Options for file name casings, defaulting to pascal but can be set to camel, snake or kebab
  • Add header to each file explaining that it is auto-generated and not to change manually

Changed

  • Bump FluentAssertions from 6.12.2 to 7.0.0
  • Bump xunit.runner.visualstudio to from 2.8.2 to 3.0.0
  • Bump xunit.analyzers from 1.17.0 to 1.18.0