Bump FluentAssertions from 8.0.0 to 8.9.0#6
Closed
dependabot[bot] wants to merge 10 commits intomainfrom
Closed
Conversation
PHASE 1 - CORE ARCHITECTURE Project foundation with production-grade .NET 10 implementation: Domain Models (8 classes): - ApiKey: Authentication and metadata with lifecycle management - ApiKeyConsumer: User/service representation with activity tracking - RateLimit: Configurable rate limiting per API key - UsageRecord: Request metrics and analytics - AuditLog: Security and compliance audit trail - GatewayConfiguration: System-wide settings - ApiEndpoint: Protected endpoint definitions - Custom Exceptions: InvalidApiKeyException, RateLimitExceededException, etc. Services (5 classes): - ApiKeyService: Key lifecycle management with SHA-256 hashing - RateLimitingService: Rate limit enforcement and window management - UsageTrackingService: Usage analytics and statistics - AuthenticationService: Request validation and IP whitelisting - AuditLogService: Compliance audit logging Repositories (4 implementations): - ApiKeyRepository: Complete CRUD with hash lookup - RateLimitRepository: Window tracking and configuration - UsageRepository: Historical query and aggregation - AuditLogRepository: Retention and filtering Infrastructure: - Program.cs: ASP.NET Core setup with DI configuration - Middleware: Request-level authentication and rate limiting - Controllers: REST API for key management and analytics - Database: SQL Server abstraction and connection management - Configuration: Swagger/OpenAPI, CORS, security headers Utilities: - CryptoHelpers: Secure random generation and HMAC - ValidationHelpers: Input validation and sanitization - DateTimeExtensions: Time window calculations Statistics: - 39 total files (37 code files) - 3,585 lines of production C# code - Full implementation with no stubs - Industry-standard patterns and practices Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
…ilities, events, caching, and integration Phase 2 Implementation: - 5 middleware components (error handling, logging, validation, performance monitoring, correlation) - 11 utility helpers (JSON serialization, CSV/XML export, HTTP clients, rate limit calculations) - 2 event system files (event definitions, publishers, handlers for API key and usage events) - 2 caching layer files (in-memory cache provider, cache key generation) - 4 integration modules (webhooks, external API clients, batch operations) - 3 background workers (usage aggregation, rate limit resets, audit log cleanup) - 3 additional controllers (health checks, admin operations, statistics) - 4 configuration extensions (caching, events, middleware, service registration) - 2 service implementations (data export, metrics collection) - 2 validation utilities (API key validation, request validation) - 2 extension collections (string and collection LINQ extensions) Total: 33 new files, 3000+ lines of production-quality code - Complete error handling pipeline with structured logging - Distributed tracing via correlation IDs - Caching abstraction supporting in-memory and future Redis integration - Event-driven architecture for loosely coupled components - Webhook delivery system with retry logic - Rate limiting utilities with window calculations - Export capabilities (CSV, XML, JSON) - Batch operation processing for bulk API key management - Health checks for container orchestration - Admin and stats endpoints with detailed metrics Co-Authored-By: Vladyslav Zaiets <https://sarmkadan.com>
- Add missing entries to .gitignore (appsettings.Development.json, *.DotSettings.user) - Remove emoji characters from README.md section headers - Update .csproj to use PackageLicenseExpression for NuGet compliance - All author headers preserved across 79 .cs files Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
--- updated-dependencies: - dependency-name: FluentAssertions dependency-version: 8.9.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Author
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
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.
Updated FluentAssertions from 8.0.0 to 8.9.0.
Release notes
Sourced from FluentAssertions's releases.
8.9.0
What's Changed
New features
Span<T>,ReadOnlySpan<T>,Memory<T>andReadOnlyMemory<T>by @dennisdoomen in Add support for Span<T>, ReadOnlySpan<T>, Memory<T> and ReadOnlyMemory<T> fluentassertions/fluentassertions#3172Improvements
BeEquivalentToby @Copilot in Allow excluding all properties by type from BeEquivalentTo fluentassertions/fluentassertions#3115BeEquivalentToby @dennisdoomen in Improve reporting the differences between differently sized collections in BeEquivalentTo fluentassertions/fluentassertions#3133ThrowandWhichby @dennisdoomen in Improve reporting the subject when chaining Throw and Which fluentassertions/fluentassertions#3160HaveMillisecond/NotHaveMillisecondassertion methods forDateTimeandDateTimeOffsetby @Copilot in Add HaveMillisecond/NotHaveMillisecond assertion methods for DateTime and DateTimeOffset fluentassertions/fluentassertions#3164BeEqualToandNotBeEqualToas collection assertion aliases by @Copilot in AddBeEqualToandNotBeEqualToas collection assertion aliases fluentassertions/fluentassertions#3166Fixes
Documentation
Others
==or!=when comparing Nullable against constants by @jnyrup in Use==or!=when comparing Nullable<T> against constants fluentassertions/fluentassertions#3129string.Createby @jnyrup in Create polyfill forstring.Createfluentassertions/fluentassertions#3130UnassignedGetOnlyAutoPropertyforNode.GetHashCodeby @jnyrup in SuppressUnassignedGetOnlyAutoPropertyforNode.GetHashCodefluentassertions/fluentassertions#3138NonReadonlyMemberInGetHashCodeby @jnyrup in UseNonReadonlyMemberInGetHashCodefluentassertions/fluentassertions#3140paramNameparameter by @jnyrup in Use compiler-generatedparamNameparameter fluentassertions/fluentassertions#3143When_concurrently_getting_equality_strategy_it_should_not_throwby @jnyrup in FixWhen_concurrently_getting_equality_strategy_it_should_not_throwfluentassertions/fluentassertions#3144... (truncated)
8.8.0
What's Changed
New features
Improvements
Documentation
configparameter by @jnyrup in Add docs forconfigparameter fluentassertions/fluentassertions#3104Others
Full Changelog: fluentassertions/fluentassertions@8.7.1...8.8.0
8.7.1
What's Changed
Others
Full Changelog: fluentassertions/fluentassertions@8.7.0...8.7.1
8.7.0
What's Changed
New features
Others
DisableImplicitNuGetFallbackFolderby @jnyrup in SetDisableImplicitNuGetFallbackFolderfluentassertions/fluentassertions#3095Full Changelog: fluentassertions/fluentassertions@8.6.0...8.7.0
8.6.0
What's Changed
Improvements
Value.ThatMatchesandValue.ThatSatisfiesby @dennisdoomen in Add support for inline assertions using Value.ThatMatches and Value.ThatSatisfies fluentassertions/fluentassertions#3076Others
New Contributors
Full Changelog: fluentassertions/fluentassertions@8.5.0...8.6.0
8.5.0
What's Changed
New features
Fixes
Others
Full Changelog: fluentassertions/fluentassertions@8.4.0...8.5.0
8.4.0
What's Changed
Improvements
Others
New Contributors
Full Changelog: fluentassertions/fluentassertions@8.3.0...8.4.0
8.3.0
What's Changed
Improvements
Others
Full Changelog: fluentassertions/fluentassertions@8.2.0...8.3.0
8.2.0
What's Changed
Improvements
Fixes
StringSyntaxannotations by @jnyrup in RestoreStringSyntaxannotations fluentassertions/fluentassertions#3033Others
Full Changelog: fluentassertions/fluentassertions@8.1.1...8.2.0
8.1.1
What's Changed
Fixes
Full Changelog: fluentassertions/fluentassertions@8.1.0...8.1.1
8.1.0
What's Changed
Improvements
Fixes
Documentation
Others
New Contributors
Full Changelog: fluentassertions/fluentassertions@8.0.1...8.1.0
8.0.1
What's Changed
Improvements
Others
Full Changelog: fluentassertions/fluentassertions@8.0.0...8.0.1
Commits viewable in compare view.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)