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.
Update low-code scripting API docs to clarify and expose configurable limits. Adds a new Configuration section with an example Configure<AbpLowCodeScriptingOptions> showing script and query limits (null = no limit). Changes many default values in Sandbox Constraints and Query Security Limits from concrete numbers to "No limit", removes per-group/item rows (MaxItemsPerGroup, MaxTotalGroupedItems) and consolidates group limits to MaxGroupCount. Notes that all limits default to null and should be set according to security requirements and expected workload.
Add an Important note to docs/en/modules/cms-kit-pro/index.md clarifying that CMS Kit Pro requires both the base Volo.CmsKit.* packages and the Volo.CmsKit.Pro.* packages. Notes that the `abp add-module Volo.CmsKit.Pro` command will handle this automatically, but if adding packages manually you must include both sets.
Move base.OnModelCreating(builder) to after builder.ConfigureDynamicEntities() in the docs example. This ensures dynamic entities are configured before the base model creation, reflecting the correct order to register dynamic entities in DbContext.OnModelCreating.
Remove docs/en/images/quick-look.png and replace/update the image at docs/en/low-code/images/quick-look.png. Consolidates the quick-look asset into the low-code subdirectory and updates the binary image file.
Update low-code Fluent API docs: add docs/en/images/quick-look.png and refactor examples to use DynamicEntityBase for entities. Remove the separate assembly registration step and replace the ConfigureServices sample with a Low-Code initializer (MyAppLowCodeInitializer) that uses AsyncOneTimeRunner and an async InitializeAsync which calls DynamicModelManager.Instance.InitializeAsync(). Also adjust step numbering and small samples to reflect these API changes (add server-only/internal property, set UI descriptors, etc.).
Add seven illustrative screenshots to docs/en/low-code/images (actions-menu.png, create-modal.png, data-grid.png, foreign-access-modal.png, interceptor-error.png, menu-items.png, quick-look.png) and update docs/en/low-code/index.md to include references to the menu, data grid, and create/edit modal images to better demonstrate the Low-Code UI features.
Improve Low-Code docs to clarify the distinction between dynamic entities and reference entities and to tighten foreign-access semantics. Updates across fluent-api, foreign-access, index, model-json, reference-entities, and scripting-api: explain that foreign access applies only between dynamic entities and that action menus appear on the target entity's UI; adjust wording for source/target terminology and permission behavior; add a comparison table for dynamic vs reference entities; update the reference-entity registration example to an async initializer pattern and show DynamicModelManager initialization; and note in the scripting API that insert/update/delete only apply to dynamic entities. These changes are editorial to reduce confusion around read-only reference entities and foreign key behavior.
Update low-code documentation examples to reflect API changes: make entity classes inherit DynamicEntityBase across examples, remove the separate "Register the Assembly" step and renumber steps, and introduce an async low-code initializer (MyAppLowCodeInitializer) using AsyncOneTimeRunner and DynamicModelManager.Instance.InitializeAsync. Also adjust command/query examples: CustomProductCreateCommand now derives from CreateCommand<Product> and returns Guid, and a CustomQuery (Single) example was added. These edits align docs with the new initialization flow and base entity type.