Introduce AbpDefaultTokenProvider (10-min lifespan) replacing
DataProtectorTokenProvider under TokenOptions.DefaultProvider, so
challenge tokens (RequiresTwoFactor, ShouldChangePassword) become
single-active.
Document the token provider lineup and fix two factual errors in
the 2FA doc.
- Clear configuration entry when Region or ServiceURL is set to null
- Annotate DeleteObjectsAsync prefix and continuationToken as nullable
- Replace vague Region placeholder in aws.md example
- Skip container wiring in test module when AWS credentials are absent
- Dispose AmazonS3Client in test cleanup
- Validate Region or ServiceURL early in DefaultAmazonS3ClientFactory
- Normalize trailing slash in ServiceURL test assertions
- Clarify Region and ServiceURL coupling in XML docs and aws.md
- Add DisablePayloadSigning configuration to send UNSIGNED-PAYLOAD instead of streaming chunked signature, required by R2
- Make CreateS3ClientConfig async to allow subclasses to do I/O
- Document trailing-slash behavior of ServiceURL
- Extend test module to use external bucket with per-run prefix cleanup
- Document DisablePayloadSigning in aws.md and link from index.md
- Clarify that Delete is host-only for the global account while Remove from tenant is the tenant-level soft removal available to tenant admins
- Note in the migration guide that host-side shadow rows must use a new primary key Id different from the tenant user's Id
- Add `.Application -> .Domain` arrow to all 4 diagrams
- Module diagram: remove `.Web` node (module template's `.Web` is the
module's own UI layer per `[DependsOn]` and csproj, not a standalone
host that would reference `.HttpApi`) and add `.MongoDB`
Add a new English community article 'ABP Agent Vibe Architecting' and three supporting images (abp-agent-ai-review.gif, abp-agent-analyze-engine.png, abp-agent-code-generation.gif). The article explains the concept of "vibe architecting", outlines a three-layer governance framework, and describes ABP Studio AI Agent features (Plan mode, Analyze engine, ABP-aware review) that mitigate architecture drift in enterprise .NET.