Skip to content

feat: release Ling.Audit 2.0.1 - #2

Merged
ling921 merged 9 commits into
masterfrom
codex/release-2.0.1
Aug 31, 2026
Merged

ling921 merged 9 commits into
masterfrom
codex/release-2.0.1

Conversation

@ling921

@ling921 ling921 commented Aug 31, 2026

Copy link
Copy Markdown
Owner

Summary

  • publish the renamed Entity Framework Core and ASP.NET Core integrations
  • add configurable principal resolution, transaction guarantees, isolated interceptor state, and injectable time
  • fix source generation for multiple audited types and nested declarations
  • add .NET 6-9 integration tests, package-consumer validation, release workflows, and migration documentation
  • set all package versions to 2.0.1

Validation

  • dotnet test Ling.Audit.sln --configuration Release -p:ContinuousIntegrationBuild=true (166 test executions passed)
  • packed all three 2.0.1 packages
  • restored and built the package consumer using only the generated packages
  • git diff --check`n

Merge and release

Please squash merge this PR so master receives one commit. After merge, publish GitHub release �2.0.1 to trigger the NuGet Trusted Publishing workflow.

The changes introduce a robust auditing system for Entity Framework Core, enabling detailed tracking and logging of entity changes. Key additions include:

- New projects: `Ling.Audit.EntityFrameworkCore` and `Ling.Audit.AspNetCore`.
- Extension methods in `DbContextOptionsBuilderExtensions.cs` for auditing configurations.
- `HttpAuditContextProvider` class for user context information.
- `AuditDefaults` and `AuditOptions` classes for default configurations and options.
- `EntityOperationType` enum for different entity operations.
- `IAuditContextProvider<TUserId>` interface for audit user information.
- `AuditIgnoreAttribute` and `AuditIncludeAttribute` for property auditing control.
- `ModelBuilderExtensions` for global query filters and entity configurations.
- `AuditConventionSetPlugin` and related classes for custom conventions.
- `AuditInterceptor<TUserId>` for intercepting save operations.
- `AuditModelCustomizer<TUserId>` for model customizations.
- Various utility classes and extensions for type conversions and primary key retrieval.
- Classes for representing audit entries, metadata, and change logs.
- Updated documentation and removed `Inherited = true` in `AuditIgnoreAttribute`.
- Added constructor and `AnonymousOperations` property in `AuditIncludeAttribute`.
- Renamed `DisabledSwitchKey` to `DisableAuditingSwitch` in `AuditDefaults`.
- Updated method parameters and added `ConfigureAuditLogTableNames` in `ModelBuilderExtensions`.
- Changed audit entry type from `AuditEntry` to `AuditEntityEntry` in `AuditInterceptor`.
- Introduced `AnonymousOperations` in `AuditMetadata` for better configuration.
- Added `ValueType` property in `AuditEntityChangeLog` and `AuditFieldChangeLog`.
- Updated table names and comments in configuration classes for clarity.
- Added helper methods in `ThrowHelper` for parameter validation.
- Introduced `AuditEntityEntry` class for better tracking of audit information.
- Updated conventions to use new annotation names in `AuditIgnoreAttributeConvention` and `AuditIncludeAttributeConvention`.

These changes aim to enhance the flexibility and configurability of the auditing features while improving code readability and maintainability.
- Enhanced `MustNullAttributeAnalyzer` to analyze `InvocationExpressionSyntax` and method type parameters.
- Changed `MustNullAttribute` access modifier to `internal`.
- Added multiple test cases in `MustNullAttributeAnalyzerTests` to validate `MustNull` behavior in generic methods.
- Updated test project names.
- Modified `CSharpSourceGeneratorVerifier` to use regex for newline handling.
@ling921
ling921 merged commit d645c50 into master Aug 31, 2026
2 checks passed
@ling921
ling921 deleted the codex/release-2.0.1 branch August 31, 2026 08:04
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