When Application Services are registered via ConventionalControllers.Create(),
their types are added to DynamicProxyIgnoreTypes, which disables the
ValidationInterceptor. The AbpValidationActionFilter only checked ModelState
(DataAnnotations), so FluentValidation rules were never executed.
Add IValidationEnabled check in AbpValidationActionFilter to call
IMethodInvocationValidator for conventional controllers, enabling
FluentValidation support without duplicating validation for regular controllers.
Resolve#23457
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.
Improve discoverability and guidance for the MCP/Studio CLI. Added a note in the CLI docs that the mcp-studio bridge is invoked automatically by AI tools (no manual run required) and that `abp help mcp-studio` shows options and IDE config snippets. Also added a Quick Reference entry to the Model Context Protocol doc pointing users to `abp help mcp-studio` for example configurations.
Introduce the new `abp mcp-studio` CLI command and documentation for the Model Context Protocol (MCP). Adds a new docs page (studio/model-context-protocol.md) with usage, configuration examples for Cursor/Claude Desktop/VS Code, available MCP tools, and notes about the local bridge vs the cloud `abp mcp` service. Updates CLI index to list the new command and adjusts docs navigation (docs-nav.json) and the next link in monitoring-applications.md to include the MCP page.
Replaces double curly braces with the new template syntax `{%{{{...}}}%}` in the 'Terminal Command' and 'Condition' fields for custom commands documentation.
Updated documentation to specify that if a chat client is not configured for a workspace, the default workspace's chat client is returned, and null is only returned if neither is configured.