* Only the projected GetAsync passes it, that is the path Repository.GetAsync already covered
* Assert a single data query so a materialize-then-project implementation can not pass
* Opting out of the projection brings the entity based overrides back
* IQueryProjector replaces IQueryableMapper, the hooks can await other queries to join them
* A projection must return one row per entity, the total count and the paging come before it
* Pass the ambient cancellation token and detect the missing entity for value type DTOs
* Fall back to GetEntityByIdAsync when a by-id query can not be created
* Expose IQueryProjectionMapper implementations like IObjectMapper does
* Document query projection and cover EF Core, MongoDB and Mapperly
- Delete the link users after the user is saved, a concurrency failure kept them deleted
- Create organization units of the current tenant only and insert them after every group is valid
- IBlobPipelineContributor pipeline; encryption runs innermost with an authenticated end check
- Adapt FileSystem/AWS to forward-only streams; fail early on unsupported AES-GCM
- Introduced IByteArrayEncryptionService interface for encrypting and decrypting binary data with authenticated encryption.
- Implemented methods for encrypting and decrypting byte arrays and streams, including options for passphrase and salt.
- Enhanced blob storing tests to cover encryption scenarios, including tenant-specific passphrases and custom pipeline contributors.
- Added FakeInMemoryBlobProvider and various test containers to facilitate testing of blob storage with encryption.
- Created unit tests for ByteArrayEncryptionService to validate encryption and decryption functionality, including edge cases for tampered data and oversized chunks.
React solutions are generated by ABP Studio's modern templates, so map React in ToFrameworkName and reject it in the classic template builder. Also document that React templates can be customized in ABP Suite.
- Treat QUERY as a safe method like GET: excluded from audit logging and non-transactional UOW
- Add HTTP verb constants and Is* helpers to HttpMethodHelper