Repository navigation
Releases: ling921/ling-remote-services
Release list
Ling.RemoteServices 2.0.0
- 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.SuccessStatusCodeis now anintwith0meaning “use the default”. Nullable types are not valid CLR attribute named-argument types, so the previousint?property could not be set in attribute usage.RemoteServiceMethodConventionBuilder.HttpMethodandRemoteServiceEndpointConventionBuilder<TService>.Operation(method, httpMethod)now returnRemoteServiceOperationConventionBuilderso operation-scoped extensions can be called fluently. Rebuild consumers of these public APIs when upgrading.- Remove the advanced, undocumented
CompositeEndpointConventionBuilder; use the registry returned fromMapRemoteServices()for global conventions.
2.0.0-preview.2
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)
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
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