Changelog v3.5.0 (2025-01-28)
Version 3.5.0 (2025-01-28)
New Feature: PasskeyAuth (WebAuthn/FIDO2)
Added WebAuthn/FIDO2 Passkey Authentication support, enabling phishing-resistant, passwordless authentication using device-native biometrics or PINs. This feature allows users to authenticate using passkeys stored on their devices without requiring any external authentication libraries.
Bugfix: Response Compression for Static Files
Fixed an issue where ResponseCompression middleware was not compressing static files served by AppStaticFileMiddleware. The middleware was setting Content-Length header before writing the response body, which prevented the compression middleware from compressing the response. Also added text/javascript to the default list of compressible MIME types.
Added Client Integration Tests
Added automated integration tests for NpgsqlRestClient configuration features to catch configuration bugs in the CI/CD pipeline:
- ResponseCompression Tests - Verify compression works correctly for static files and API responses
- CORS Tests - Verify CORS headers, preflight requests, and origin validation
- StaticFiles Tests - Verify content parsing, claims replacement, and file serving
Separate Core and Client Logging
Added ability to configure separate log levels for the core NpgsqlRest library and the NpgsqlRestClient application. This allows fine-grained control over logging verbosity:
json
"MinimalLevels": {
"NpgsqlRest": "Information",
"NpgsqlRestClient": "Debug",
"System": "Warning",
"Microsoft": "Warning"
}NpgsqlRest- Controls log level for the core library (endpoint creation, SQL execution, etc.)NpgsqlRestClient- Controls log level for the client application (configuration, authentication setup, passkeys, etc.)
Debug Log Filtering Options
Added two new boolean options to control debug-level logging verbosity:
DebugLogEndpointCreateEvents(default:true) - Whenfalse, suppresses "Created endpoint" debug logsDebugLogCommentAnnotationEvents(default:true) - Whenfalse, suppresses comment annotation parsing debug logs
These options allow users to reduce log noise while keeping the log level at Debug for other important information.