Bug fixes
[8933a30] Trim the AI skill to fit agent context budgets (@javiereguiluz)
[36e0f44] Hide the main action of an action group when it is not displayed (@javiereguiluz)
[51c7239] Ignore filters with malformed values in the query string (@javiereguiluz)
[8f99f4c] Join the main button of an action group rendered as a form (@javiereguiluz)
[a8bf05c] Use the labels of enum choices in ChoiceField index and detail pages (@javiereguiluz)
[b911f81] Return a 400 for batch action requests with missing or invalid fields (@javiereguiluz)
[d8a3b3b] Reset AdminUrlGenerator state on every generateUrl() return path (@ousamabenyounes)
[6726a16] Redirect to index when saving without a button (@phcorp)
[6fd7ac7] Fix required option for composite-key targets (@phcorp)
[1534132] Fix askConfirmation() for NEW and EDIT submit buttons (@alkinbg)
[0d6610c] Fix nested search highlights hidden in light theme (erelke)
[1e5475e] Stop calling strings as PHP functions in string|callable options (@javiereguiluz)
[237eeda] Apply AdminRoute options to the routes of CRUD controllers (@javiereguiluz)
[217a290] Keep the CRUD controller set by setCrudController() in renderAsEmbeddedForm() (@javiereguiluz)
[4e9a32d] Check the controller type before resolving it in autocomplete (@javiereguiluz)
[7a8cadb] Bind delete and boolean toggle CSRF tokens to the CRUD controller (@javiereguiluz)
[ee192d8] Use the EDIT page fields for existing entities in nested embedded CRUD forms (@javiereguiluz)