Feature/roadmap 2026 - #11
Merged
Merged
Conversation
…rsions - Add net10.0 and net11.0 to target frameworks - Add System.Net.Http.Json, Microsoft.Extensions.Caching.Memory - Add Microsoft.CodeAnalysis.CSharp + Analyzers for source generator support - Register CSharpEssentials.Http in central packages - Add plans/ to .gitignore Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…tension members - Result<T>.Combine: merge 2–8 results into tuple, aggregating all errors - Result<T>.Recover / RecoverFirst: selective error recovery by ErrorType or predicate - Result<T>.Unwrap / UnwrapOrDefault: imperative value extraction with ResultUnwrapException - Result / Result<T> IsSuccess convenience modules - ResultExtensionMembers: .NET 10 extension block syntax for Result/Result<T> Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- EnumerableExtensionMembers: .NET 10 extension block with IsEmpty property - StringExtensionMembers: .NET 10 extension block for string utilities - HttpCodes: add missing 4xx/5xx status code constants Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- MaybeExtensionMembers: .NET 10 extension block syntax for Maybe<T> - Align module signatures with Result pattern conventions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- StringEnumGenerator: IIncrementalGenerator triggered by [StringEnum] attribute - Generates per-enum: ToOptimizedString, ToSnakeCase, ToKebabCase, ToLowerCase, ToUpperCase, IsDefined, TryParse, Parse, GetNames, GetValues, AsUnderlyingType - Compile-time constants for snake_case and kebab-case representations - Zero-allocation switch-expression dispatch; runtime fallback for out-of-range values Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- HttpClientResultExtensions: GET/POST/PUT/PATCH/DELETE/SEND as Result<T>/Result - HttpStatusCodeMapper: maps HTTP status codes to typed Error values - HttpRequestBuilder: fluent builder for HttpRequestMessage - QueryStringExtensions: build query strings from dictionaries/objects - HttpContentExtensions: serialize/deserialize HttpContent to Result - HttpClientResilienceExtensions: Polly-based retry/circuit-breaker integration - Targets net9.0, net10.0, net11.0, netstandard2.1 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- ResultEndpointFilter: IEndpointFilter that unwraps Result<T>/Result return values into typed IResult HTTP responses automatically - IResultErrorMapper: optional hook to customize error-to-HTTP mapping - Eliminates manual .Match() / .ToActionResult() calls in endpoint handlers Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- DbContextExtensionMethods: expanded helpers for bulk operations and queries - BaseDbContext: additional lifecycle hooks and interceptor integration - EntityBaseExtensions: refined soft-delete and audit field handling Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Simplify ISecretManagerConfigurationLoader interface surface - Consolidate SecretManagerConfigurationOptions into a cleaner model - Reduce boilerplate in SecretManagerConfigurationProvider Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ntions - Any, Clone, Core, Entity, Errors, Json, Rules, Time: update TargetFrameworks to include net10.0/net11.0 where applicable - RequestResponseLogging: refine middleware and message creator types - CSharpEssentials meta-package: update dependency graph for new Http package - Consistent nullable annotation cleanup across all packages Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- ResultCombineTests, ResultRecoverTests, ResultUnwrapTests, ResultTryGetTests - ResultExtensionMembersTests, ResultEndpointFilterTests - MaybeExtensionMembersTests - EnumerableExtensionMembersTests, StringExtensionMembersTests - StringEnumGeneratorTests - DomainEventTests, EntityBaseFieldKeywordTests, ErrorFieldKeywordTests - Http package integration tests Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…rator demo - Examples.Http: end-to-end demo of HttpClientResultExtensions with Polly resilience - Examples.Enums: updated to showcase StringEnumGenerator output (ToSnakeCase, ToKebabCase, TryParse, GetNames, GetValues) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…Directory.Packages.props
Switch from CRLF to LF line endings to fix IDE0055 formatting errors on Linux CI. The .NET 11 preview Roslyn formatter ignores end_of_line=crlf on Linux and flags CRLF characters at structural boundaries as violations. - Update .editorconfig: end_of_line = crlf → lf - Add .gitattributes to enforce LF on all platforms - Normalize 300+ .cs files from CRLF to LF via dotnet format Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.