Skip to content

Feature/roadmap 2026 - #11

Merged
senrecep merged 15 commits into
mainfrom
feature/roadmap-2026
May 5, 2026
Merged

Feature/roadmap 2026#11
senrecep merged 15 commits into
mainfrom
feature/roadmap-2026

Conversation

@senrecep

@senrecep senrecep commented May 5, 2026

Copy link
Copy Markdown
Owner

No description provided.

senrecep and others added 15 commits May 5, 2026 02:27
…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>
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>
@senrecep
senrecep merged commit 10efadc into main May 5, 2026
2 checks passed
senrecep added a commit that referenced this pull request May 27, 2026
@senrecep
senrecep deleted the feature/roadmap-2026 branch May 27, 2026 19:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant