Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v3.31.0 #136

Merged
merged 15 commits into from
Feb 1, 2025
Merged

v3.31.0 #136

merged 15 commits into from
Feb 1, 2025

Conversation

chullybun
Copy link
Collaborator

  • Enhancement: Moved existing reflection-based JsonMergePatch to Extended.JsonMergePatchEx; this remains the AddJsonMergePatch default implementation.
  • Enhancement: Added new JsonMergePatch that leverages JsonElement and Utf8JsonWriter without underlying reflection; useful in scenarios where the value type is not known. This is also not as performant as the reflection-based JsonMergePatchEx version and the primary reason why it is not the new default.
  • Enhancement: Refactored the CosmosDb capabilities such that the CosmosDbContainer and CosmosDbModelContainer are model type independent, with underlying type support implemented at the method level for greater flexibility and control. The typed CosmosDbContainer<T, TModel> etc. remain and are accessed from the type independent containers as required.
    • The existing IMultiSetArgs operations have been moved (and renamed) from CosmosDb to CosmosDbContainer and CosmosDbModelContainer as these are single container-specific.
    • The existing CosmosDb.UseAuthorizeFilter operations have been moved to CosmosDbContainer as these are single container-specific.
  • Enhancement: Added Cleaner.PrepareCreate and Cleaner.PrepareUpdate to encapsulate ChangeLog.PrepareCreated and ChangeLog.PrepareUpdated, and Cleaner.ResetTenantId to ensure consistent handling throughout CoreEx.
  • Enhancement: Added SystemTime.Timestamp as the standard means to access the current timestamp (uses Cleaner.Clean) to ensure consistency throughout CoreEx. Therefore, the likes of DateTime.UtcNow should be replaced with SystemTime.Timestamp. The previous ExecutionContent.SystemTime has been removed as it was not consistent with the ExecutionContext pattern.
  • Enhancement: Updated the IExtendedException.ShouldBeLogged implementations to check SettingsBase configuration to enable/disable.
  • Enhancement: Updated dependencies to latest; including transitive where applicable.

… `CosmosDbContainer` and `CosmosDbModelContainer` are model type independent, with underlying type support implemented at the method level for greater flexibility and control. The typed `CosmosDbContainer<T, TModel>` etc. remain and are accessed from the type independent containers as required.

  - The existing `IMultiSetArgs` operations have been moved (and renamed) from `CosmosDb` to `CosmosDbContainer` and `CosmosDbModelContainer` as these are single container-specific.
  - The existing `CosmosDb.UseAuthorizeFilter` operations have been moved to `CosmosDbContainer` as these are single container-specific.
…date` to encapsulate `ChangeLog.PrepareCreated` and `ChangeLog.PrepareUpdated`, and `Cleaner.ResetTenantId` to ensure consistent handling throughout _CoreEx_.

- *Enhancement:* Added `SystemTime.Timestamp` as the standard means to access the current timestamp (uses `Cleaner.Clean`) to ensure consistency throughout _CoreEx_. Therefore, the likes of `DateTime.UtcNow` should be replaced with `SystemTime.Timestamp`. The previous `ExecutionContent.SystemTime` has been removed as it was not consistent with the `ExecutionContext` pattern.
…ementations to check `SettingsBase` configuration to enable/disable.
@chullybun chullybun merged commit dee56a9 into main Feb 1, 2025
2 checks passed
@chullybun chullybun deleted the v3.31.0 branch February 1, 2025 22:52
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