Descubra por que o cron do Magento 2 não roda: leia a cron_schedule, confira o crontab do www-data e o lock do grupo no var/log/cron.log.
Crie um comando CLI Magento 2 do zero: classe estendendo Symfony Command, registro no di.xml e os comandos que fazem ele aparecer no bin/magento list.
Traduza o pt_BR.csv do Magento 2 em lote com fgetcsv e fputcsv, preservando a coluna de origem, os placeholders e as colunas de módulo.
Ative o massaction Magento 2 na grid do admin com selectionsColumn e o nó massaction no listing.xml, mais o controller com o Filter do Magento_Ui.
Destrave o campo bloqueado no admin do Magento 2: ache a chave no app/etc/env.php, tire do array system e regrave o valor com o config:set.
Teste o OpenSearch com curl, corrija o bloco catalog/search do env.php e reindexe pra tirar o Could not ping search engine do Magento 2.4.8.
Limpe os bookmarks da grid do Magento 2 na tabela ui_bookmark e destrave as colunas e os filtros que o listing.xml sozinho não muda.
Tire o Unknown module in the enabled modules list do Magento 2: remova a chave do app/etc/config.php e rode setup:upgrade pra normalizar a lista.
Corte report_event, cron_schedule e companhia do backup do Magento 2 com mysqldump em duas passadas e leve o app/etc/env.php junto do .sql.
Corrija a preference do di.xml que não aplica no Magento 2: área errada do arquivo, generated/code antigo e setup:di:compile pendente em produção.