Skip to content

Releases: ling921/ling-remote-services

Ling.RemoteServices 2.0.0

Choose a tag to compare

@ling921 ling921 released this 30 Sep 03:20
6f6df44
  • Add endpoint metadata attributes for response/request types and media types, OpenAPI tags and text, endpoint names, host constraints, route order, form limits, and other routing behavior. Attributes can target all operations on a contract or select an HTTP method.
  • Add typed convention builders for every mapped remote endpoint, an individual service, or one HTTP operation. Each scope accepts ASP.NET Core endpoint filters and common native endpoint conventions such as Produces, Accepts, request timeouts, and routing short-circuiting.
  • Inherit endpoint metadata, authorization/policy attributes, XML summaries, and parameter-binding attributes from base service interfaces. Diagnose conflicting HTTP-operation declarations inherited from unrelated interfaces.
  • Diagnose duplicate endpoint names across generated services at compile time.
  • Support duration-based request timeout attributes and per-HTTP-method policy selection.
  • Support ASP.NET Core 10 endpoint validation and cookie-redirect conventions. Using these attributes with .NET 8 or .NET 9 produces a generator diagnostic instead of generated code that cannot compile.
  • Reject invalid endpoint-policy HTTP method selectors rather than silently ignoring them, and restrict configured success response statuses to 200–299.
  • Keep the three public package IDs and target .NET 8, .NET 9, and .NET 10.

Breaking changes

  • RemoteMethodAttribute.SuccessStatusCode is now an int with 0 meaning “use the default”. Nullable types are not valid CLR attribute named-argument types, so the previous int? property could not be set in attribute usage.
  • RemoteServiceMethodConventionBuilder.HttpMethod and RemoteServiceEndpointConventionBuilder<TService>.Operation(method, httpMethod) now return RemoteServiceOperationConventionBuilder so operation-scoped extensions can be called fluently. Rebuild consumers of these public APIs when upgrading.
  • Remove the advanced, undocumented CompositeEndpointConventionBuilder; use the registry returned from MapRemoteServices() for global conventions.

2.0.0-preview.2

2.0.0-preview.2 Pre-release
Pre-release

Choose a tag to compare

@ling921 ling921 released this 29 Sep 10:53

Overview

The first usable 2.0 preview adds typed endpoint convention builders and contract attributes for ASP.NET Core endpoint metadata. The source generator emits native Minimal API metadata and inherits contract metadata, policies, parameter binding, and XML documentation across service interfaces.

Breaking changes

RemoteMethodAttribute.SuccessStatusCode is now a non-nullable int; use 0 for the default success status. Nullable types cannot be used as CLR attribute named-argument types.

This is a pre-release build intended for evaluation; APIs may change before 2.0.0 stable.

Validation

Windows Release tests passed for the supported target frameworks. Linux Release packaging passed, including the Native AOT client/server roundtrip and all three NuGet packages.

2.0.0-preview.1 (withdrawn)

Pre-release

Choose a tag to compare

@ling921 ling921 released this 29 Sep 10:09
92df900

Withdrawn

The v2.0.0-preview.1 tag was accidentally created from master and points to the 1.0.0 source commit. Do not use this release as a 2.0 preview. The associated workflow only encountered existing 1.0.0 NuGet packages and published no 2.0.0 package. A corrected preview will be published under a new version.

v1.0.0

Choose a tag to compare

@ling921 ling921 released this 31 Aug 16:01
92df900

What's Changed

  • Implement remote services architecture by @ling921 in #1
  • Merge develop into master by @ling921 in #2
  • ci: allow manual NuGet publishing by @ling921 in #3
  • ci: set NuGet publishing environment by @ling921 in #4
  • feat: add role authorization and prepare preview.2 by @ling921 in #5
  • Fix JSON metadata fallback for non-AOT hosts by @ling921 in #7
  • Prepare v1.0.0 release by @ling921 in #8

Full Changelog: https://github.com/ling921/ling-remote-services/commits/v1.0.0-final