Replace TODO screenshot placeholders with actual image links in modular CRM tutorial parts 02, 03, 05 and 06. This adds screenshots for the Angular Catalog and Ordering pages/components to help verify the UI integration and product/order listings.
Update modular CRM tutorial docs to include Angular symlink setup and startup steps. In part-04, remove the TODO screenshot placeholder and add a note to run `yarn symlinks:setup` from the root `angular` folder after installing a new Angular module (and again when adding more local modules). In part-07, replace the TODO screenshot note with instructions to run `yarn symlinks:setup` and `yarn start` from the `angular` folder to launch the app for validation.
Introduce a UI doc parameter and conditional content across modular-crm tutorial parts (part-04..part-08). Adds //[doc-params] JSON to enable MVC or Angular (NG) variants, inserts conditional blocks for screenshots and instructions, and adds Angular-specific guidance (proxy generation, component/template code, menu/routes, and build steps). Also includes small wording clarifications for Swagger/UX and updates summaries to reflect UI variants. TODO placeholders added for missing Angular screenshots.
Introduce a doc-params UI option (MVC/NG) across the modular-crm tutorial and update text to use conditional UI values. Add Angular-specific instructions: how to run the frontend, generate proxies, and an example Catalog component (TS + HTML) with notes on routing/menu configuration and TODO screenshots. Minor wording tweaks and summary updates for clarity.
Replace setting CommandName property with the CommandInterceptorDescriptor(string) constructor in examples. Updated docs/en/low-code/fluent-api.md and docs/en/low-code/interceptors.md to pass "Create" and "Delete" as constructor arguments to simplify and clarify interceptor declarations; no functional change to behavior.
Rename documentation headings and links from "Fluent API & Attributes" to "Attributes & Fluent API" across the low-code docs and navigation for consistency. Add a Fluent API example for registering interceptors (with sample C#) and a reference link in interceptors.md. Fix a typo changing "DefaultsLayer" to "DefaultLayer" and add a license notice and minor formatting fixes in the low-code index.
Delete the standalone "Token-Based Configuration Magic" and the duplicate "Tenant Resolution Priority Chain" sections from the article. Update the feature index/table to replace the Token Replacement entry with Tenant Resolution, and adjust the numbering/labels for Background Job Queue and Widgets so the list stays consistent. This cleans up duplicated content and fixes the section ordering.
Update article to document ABP auto-generated API controllers and dynamic client proxies, including examples and where the behavior is implemented. Clarify that permission and feature checks are NOT automatic and must be applied explicitly with [Authorize] and [RequiresFeature] (notes about the related interceptor registrars included). Renumber sections, expand explanations for anti-forgery, event handling, UOW, outbox, virtual files, JSON settings, localization, and background jobs, and update the summary table to reflect the new/clarified items (Remote Services, Auto API Controllers, Dynamic Client Proxies, Permissions/Features changes).
Add a new community article with a cover image documenting ABP Framework's default conventions and behaviors. Adds docs/en/Community-Articles/2026-02-19-ABP-Framework-Hidden-Magic/post.md and images/cover.png; the article outlines 30+ automatic features (service registration, validation, UOW, auditing, Mapperly, outbox, event handling, virtual file system, Swagger, tenant resolution, etc.) to help developers understand what 'just works' in ABP and how to customize or disable defaults.