Notas de versão do Adobe Commerce 2.4.6

O Adobe Commerce 2.4.6 apresenta suporte para o PHP 8.2. O PHP 8.1 permanece totalmente suportado, mas o suporte para o PHP 7.4 foi removido. Ele inclui aprimoramentos significativos de desempenho e escalabilidade. As operações do GraphQL para operações de carrinho em massa e resposta de renderização da árvore de categorias foram otimizadas. Esta versão apresenta o metapackage de extensão do Adobe Commerce.

Esta versão inclui mais de 300 correções de qualidade e melhorias. As dependências do Core Composer e bibliotecas de terceiros foram atualizadas para as versões mais recentes que são compatíveis com o PHP 8.2.

NOTE
As versões do Adobe Commerce podem conter alterações incompatíveis com versões anteriores (BICs). Para revisar as alterações incompatíveis com versões anteriores, consulte referência do BIC. Os principais problemas incompatíveis com versões anteriores estão descritos em destaques da BIC. Nem todas as versões introduzem os BICs principais.

Outras informações sobre a versão

Embora o código desses recursos esteja incluído nas versões do código principal do Adobe Commerce, vários desses projetos (por exemplo, B2B, Page Builder e Progressive Web Application (PWA) Studio) também são lançados independentemente. As correções de erros para esses projetos estão documentadas nas informações de versão separadas e específicas do projeto, disponíveis na documentação de cada projeto.

Destaques do Adobe Commerce 2.4.6

Procure os seguintes destaques nesta versão.

Aprimoramentos de segurança

Esta versão inclui oito correções de segurança e melhorias de segurança da plataforma.

Nenhum ataque confirmado relacionado a esses problemas ocorreu até o momento. No entanto, certas vulnerabilidades podem ser potencialmente exploradas para acessar informações do cliente ou assumir o controle de sessões de administrador. A maioria desses problemas exige que um invasor obtenha acesso ao Administrador primeiro. Como resultado, lembretes para tomar todas as medidas necessárias para proteger seu administrador são:

Consulte o Boletim de Segurança do Adobe para obter a discussão mais recente sobre esses problemas corrigidos.

Aprimoramentos adicionais de segurança

Os aprimoramentos de segurança desta versão melhoram a conformidade com as práticas recomendadas de segurança mais recentes, incluindo:

  • As lacunas nos logs de ação do administrador foram abordadas com auditorias mais específicas de ações nas exibições de grade, ações em massa e exportações.

  • A validação do reCAPTCHA não falha mais durante o check-out quando erros inesperados ocorrem durante o processamento de pagamento. GitHub-35093

  • Nova configuração do sistema para exigir confirmação por email quando um usuário administrador alterar seu email. Para reduzir a vulnerabilidade do site, uma nova configuração do sistema (desabilitada por padrão) foi adicionada para exigir confirmação por email quando um usuário administrador altera seu email: Stores > Settings:Configuration > Customers > Customer Configuration > Account Information Options > Require email confirmation if an email has been changed. Quando essa opção estiver habilitada, o aplicativo solicitará a confirmação por email sempre que o usuário administrador alterar seu endereço de email. O seguinte módulo é afetado por esta alteração: Magento_Customer.

Aprimoramentos na plataforma

O Adobe Commerce 2.4.6 apresenta suporte para o PHP 8.2. O PHP 8.1 permanece totalmente suportado.

O suporte ao PHP 7.4 foi removido desta versão. Você não pode executar o Adobe Commerce 2.4.6 no PHP 7.4.

O Adobe Commerce 2.4.6 agora é compatível com:

  • Composer 2.2.x. O Composer 1.x foi removido.

  • Redis 7.0.x Embora a compatibilidade com o Redis 6.2 permaneça, recomendamos implantar esta versão com o Redis 7.0.x, pois o Redis 6.2 deve chegar ao fim da vida útil em 2024.

  • O OpenSearch agora é compatível como o mecanismo de pesquisa padrão para implantações do Adobe Commerce no local e na nuvem. Ele é compatível como um mecanismo de pesquisa independente para o Magento Open Source. Esta versão é compatível com OpenSearch v2.x e foi testada com OpenSearch 2.5. Embora a compatibilidade com o OpenSearch 1.x permaneça, recomendamos usar esta versão com o OpenSearch 2.x. Você pode instalar e executar o Adobe Commerce e o Magento Open Source 2.4.6 com OpenSearch 2.x na Nuvem e no local Pré-requisitos do mecanismo de pesquisa.

  • Elasticsearch 8.x Consulte Atualizar Elasticsearch.

  • MariaDB 10.6 (versão LTS). Esta versão ainda é compatível com o MariaDB 10.4, mas recomendamos a atualização para o MariaDB 10.6.

Outras atualizações e substituições

  • O esquema DHL foi migrado da v6.2 para a v10.0.

  • As bibliotecas JavaScript desatualizadas foram atualizadas para suas versões mais recentes e as dependências desatualizadas foram removidas. Essas alterações são compatíveis com versões anteriores.

  • A compatibilidade do PHP 7.4 foi removida da base de código do Commerce.

  • As dependências do Symfony foram atualizadas para a nova versão LTS. As dependências incluem:

    • friendsofphp/php-cs-fixer
    • symfony/console
    • symfony/event-dispatcher
    • symfony/finder
    • symfony/process
    • web-token/jwt-framework
  • jquery-migrate foi removido da base de código do Commerce. GitHub-21406

  • Atualização da biblioteca jQuery/fileUpload para v10.32.

  • Os componentes da estrutura Zend (ZF1) que atingiram o fim da vida útil foram removidos da base de código. Consulte destaques das alterações incompatíveis com versões anteriores.

  • As dependências do Laminas foram atualizadas para suportar o PHP 8.2.

  • O plug-in do Composer laminas/laminas-dependency-plugin foi removido. GitHub-36515

  • Substituiu Zend_Filter por laminas/laminas-filter.

  • Atualizado web-token/jwt-framework para v3.0.5. (última versão)

  • allure-framework/allure-phpunit atualizado para v2.x.

  • Atualização da biblioteca Chart-js para v3.9.1

Aprimoramentos de desempenho e escalabilidade

  • Desempenho aprimorado para operações que afetam muitos segmentos de clientes. Os comerciantes podem melhorar o desempenho de operações que envolvem mais de 100 segmentos de clientes ativando uma nova definição de configuração. A configuração Real-time Check if Customer is Matched by Segment pode ser desativada conforme necessário para reduzir o tempo de processamento, reduzindo a validação de cada segmento de cliente em relação aos clientes. Consulte Validação de segmentos de clientes.

  • Nova definição de configuração do sistema para limitar o número de produtos exibidos na grade de produtos. Os comerciantes podem usar a nova definição de configuração Limit Number of Products in Grid para melhorar o desempenho da grade de produtos. Esse limite é configurado para 20000 por padrão e afeta somente as coleções de produtos usadas pelos componentes da interface do usuário. A limitação do número de produtos exibidos pode aumentar o desempenho das operações em grades com mais de 200.000 produtos. Consulte Limitar número de produtos na grade

  • Desempenho de importação aprimorado (até 100.000 registros por minuto). Os comerciantes podem usar o novo ponto de extremidade da API REST do POST /rest/<store_view_code>/V1/import/csv para importar dados para o Adobe Commerce. Esse endpoint fornece os mesmos recursos que o recurso de importação de Admin e oferece suporte ao uso de um arquivo CSV para criar, atualizar e remover produtos, preços de produtos e entidades do cliente. Consulte Importar dados.

  • Desempenho de processamento de ordem de alta taxa de transferência aprimorado por meio do balanceamento de carga. O Adobe Commerce 2.4.6 em clientes de infraestrutura em nuvem que têm um alto volume de pedidos simultâneos (1000 pedidos por minuto) agora pode melhorar o desempenho do processamento de pedidos, equilibrando a carga em seu banco de dados em diferentes nós. Os comerciantes podem reequilibrar essa carga habilitando conexões secundárias para o banco de dados MySQL e instâncias Redis. Consulte Processamento de pedido de alta produtividade

Metappackage da extensão do Adobe Commerce

Esta versão apresenta o metapackage de extensão do Adobe Commerce v1.1.0, que agrupa automaticamente extensões selecionadas do Adobe Commerce com esta versão principal. As versões dessas extensões incluídas neste metapackage são instaladas quando o composer update é executado, simplificando o processo de atualização dessas extensões ao atualizar para a versão principal mais recente. Essas extensões ainda manterão programações de lançamento independentes.

O metapackage de extensão do Adobe Commerce para Adobe Commerce 2.4.6 inclui estas duas extensões:

As versões futuras deste metapackage de extensão conterão extensões adicionais.

Eventos Adobe I/O para Adobe Commerce

Adobe I/O Eventos para Adobe Commerce captura eventos Commerce e transfere dados do Adobe Commerce para outros sistemas Adobe. Os desenvolvedores podem criar aplicativos nativos em nuvem no Adobe Developer App Builder que assinam eventos do Commerce, como atualizações de inventário, alterações de status do pedido e atualizações de preço. Os desenvolvedores podem usar esse recurso para trocar dados com a orquestração de toda a jornada do comprador em seus sistemas de missão crítica.

Atualizações de acessibilidade

O foco desta versão tem sido a criação de uma experiência de loja na Venia (PWA) que seja mais perceptível, operável, compreensível e robusta. Esses aprimoramentos incluem:

  • O rótulo de texto visual para o botão Sign in agora corresponde ao nome acessível. (A prática recomendada recomenda que o nome acessível de um elemento da interface comece com o texto do rótulo visível.)
  • Nomes descritivos acessíveis foram adicionados aos botões em toda a loja.
  • Rótulos descritivos verbais foram adicionados às caixas de seleção Has Video nos filtros de pesquisa.
  • Os usuários somente de teclado agora podem acessar toda a funcionalidade de página na loja. Anteriormente, os compradores não podiam acessar links de subnavegação usando apenas pressionamentos de tecla.

Integração do Adobe Commerce com o Adobe IMS

Os seguintes módulos do Adobe IMS foram dissociados do código principal do Adobe Commerce 2.4.6 e agora são empacotados como um metapackage separado:

  • adobe-ims
  • adobe-ims-api
  • admin-adobe-ims

O novo adobe-ims-metapackage v2.2.0 vem com o Adobe Commerce 2.4.6. Nenhuma funcionalidade foi alterada nesta versão.

B2B

O recurso Pedidos de compra para empresas agora está totalmente exposto pela API do GraphQL. Esta versão apresenta dois esquemas do GraphQL:

  • O esquema GraphQL de ordem de compra abrange a funcionalidade Comprar Order Management de usuário de empresa B2B, como criar, editar e excluir ordens de compra. Consulte Ordens de compra (B2B).
  • Regra de ordem de compra O esquema GraphQL oferece a capacidade de criar, editar e excluir regras de aprovação, bem como validar manualmente ordens de compra. Consulte Regras de aprovação de ordem de compra (B2B).

Esta versão inclui várias correções de erros. Consulte Notas de versão B2B.

Braintree

  • O botão Pay Later e os banners (mensagens) da Itália e da Espanha foram habilitados para o Braintree.
  • As mensagens do PayLater com o PayPal Vault foram habilitadas.
  • Adição dos ganchos da Web de Proteção contra fraude e ACH. O gancho da Web de Proteção contra fraude é acionado quando uma decisão de risco é tomada no Braintree. O gancho da Web ACH é disparado quando o status de um pagamento ACH é atualizado para settled ou settlement decline.
  • Adição do gancho da Web LPM (Métodos de pagamento locais).

GraphQL

Os aprimoramentos de desempenho do GraphQL incluem:

Tempo de resposta aprimorado ao consultar categorias com permissões de categoria habilitadas. Os tempos de resposta melhoraram ao consultar produtos em categorias para as quais as permissões de categoria estão habilitadas e que contêm muitos grupos de clientes ou catálogos compartilhados. As alterações de código que suportam essa melhoria de desempenho incluem:

  • A operação do resolvedor do GraphQL foi otimizada.
  • O provedor de dados não redefine mais os dados em cache em tempo de execução para cada novo produto que está sendo processado, o que melhorou o desempenho.
  • O processamento de permissões do produto foi otimizado no GraphQL Resolver. As permissões do produto agora são aplicadas às coleções de produtos, agora com base no produto.
  • Permissões otimizadas lidas em catálogos compartilhados na mutação addProductsToCart.
  • As permissões do produto foram otimizadas com fragmentos integrados do produto.

Desempenho otimizado da renderização da árvore de categoria. A consulta categoryList foi otimizada para oferecer suporte a clientes com um grande número de categorias. Os comerciantes que usam essa consulta para pesquisar mais de 1.500 categorias com até cinco níveis de subcategorias aninhadas notarão uma melhoria de desempenho. O carregamento de filhos de categoria pela refatoração do código foi aprimorado com a remoção de chamadas de método desnecessárias, o aprimoramento do armazenamento em cache da árvore de categorias e o carregamento recursivo de dados de categoria. As alterações de código que suportam essa melhoria de desempenho incluem:

  • A busca de metadados de atributos personalizados para modelos de categoria foi aprimorada.
  • A busca de ID de categoria foi aprimorada e getChildren chamadas foram reduzidas.
  • O carregamento de filhos da categoria foi aprimorado.

Tempos de resposta de consulta de operações de carrinho em massa reduzidos. As mutações adicionar produto foram otimizadas para melhorar o desempenho da consulta ao adicionar até 500 produtos simples e configuráveis. Os produtos do pacote não são afetados. As mutações otimizadas incluem addProductsToCart, addConfigurableProductsToCart, addDownloadableProductsToCart, addSimpleProductsToCart, addVirtualProductsToCart,addWishlistItemsToCart e updateCartItems.

A consulta de cliente agora dá suporte à classificação de ordem. O objeto de saída orders da consulta customer agora contém um campo de classificação. Agora você pode classificar pedidos por número de pedido ou data de criação e em ordem crescente ou decrescente.

Novas mutações:

deleteCustomer

Page Builder

O Page Builder v.1.7.3 é compatível com o Adobe Commerce 2.4.6.

PWA Studio

O PWA Studio v.13.0.x é compatível com o Adobe Commerce 2.4.6. Ele inclui várias melhorias para melhorar a acessibilidade. Para obter informações sobre correções de erros, consulte versões de PWA Studio. Consulte Compatibilidade de versão para obter uma lista de versões do PWA Studio e suas versões principais compatíveis do Adobe Commerce.

Problema conhecido

Problema: o New Relic não é compatível com o PHP 8.2. Implantações executando o New Relic podem executar Adobe Commerce 2.4.6 no PHP 8.1 mas não no PHP 8.2. Solução alternativa: execute Adobe Commerce 2.4.6 no PHP 8.1 até que uma nova versão do New Relic seja lançada que suporte o PHP 8.2. Esta versão está prevista para o verão de 2023.

Problemas corrigidos

Corrigimos centenas de problemas no código principal do Adobe Commerce 2.4.6. Um subconjunto dos problemas corrigidos incluídos no Adobe Commerce 2.4.6 está descrito abaixo.

Instalação, atualização, implantação

  • A implantação de conteúdo estático não atinge mais o tempo limite ou falha durante implantações padrão ou compactas com vários locais e sites.
  • A estratégia compacta não causa mais uma referência inválida a um domínio externo ao executar a implantação de conteúdo estático (bin/magento set:static-content:deploy -f --strategy compact).
  • A execução de bin/magento setup:di:compile -vvv (ou com as opções -v ou -vv) agora retorna uma mensagem informativa sobre a falha. GitHub-35391
  • O Adobe Commerce não lança mais a seguinte exceção quando você executa o comando bin/magento setup:upgrade em uma implantação que já está executando a ferramenta de migração de dados: PHP Fatal error: Declaration of Migration\Logger\Logger::addRecord(int $level, string $message, array $context = []): bool must be compatible with Monolog\Logger::addRecord(int $level, string $message, array $context = [], ?Monolog\DateTimeImmutable $datetime = null): bool in /var/www/html/vendor/magento/data-migration-tool/src/Migration/Logger/Logger.php on line 34. GitHub-35604
  • O comando bin/magento setup:db:status não falha mais em ambientes que executam MySQL 8.0.29. Anteriormente, a saída do comando afirmava erroneamente que o esquema declarativo estava desatualizado. GitHub-35671
  • O comando composer install não substitui mais .gitignore arquivos. GitHub-32888
  • A execução do bin/magento sampledata:remove para remover dados de exemplo após a atualização no Alpine Linux não falha mais com este erro: Undefined constant "MagentoHackathon\Composer\Magento\Deploystrategy\GLOB_BRACE. GitHub-36062
  • bin/magento setup:upgrade agora é executado com êxito após a primeira execução de composer install --no-dev. GitHub-36351
  • Exceções e entradas de rastreamento de pilha de exceção agora estão incluídas em var/log/exception.log. GitHub-36054
  • O Adobe Commerce agora lança um erro de validação de parâmetro ao usar a linha de comando para definir uma conexão Redis sem uma senha.

Acessibilidade

  • Os botões Proceed to Checkout, Review Order e Place Order no fluxo de trabalho de check-out agora funcionam como esperado com a entrada do teclado.
  • A indicação visual do foco nos botões ao usar TAB ou SHIFT + TAB para navegar pelos controles de página agora funciona conforme esperado.

Leitores de tela

  • O leitor de tela da página de histórico do pedido agora lê a descrição de imagem correta.

Os leitores de tela agora anunciam:

  • Contagem total de itens encontrada nos resultados da pesquisa como esperado
  • Nome do usuário conectado quando um usuário entrar com êxito usando controles de teclado
  • O cabeçalho da página de resultados da pesquisa de produto agora lê o valor correto para o <title> elemento
  • Se os campos de entrada são obrigatórios
  • Corrigir o estado atual dos elementos do acordeão (recolhidos e expandidos)
  • Quando o conteúdo da página é atualizado depois que o usuário clica no botão Create an account

Produtos do pacote

  • A atualização do produto do pacote por meio da API para uma exibição de loja específica agora não substitui outros dados de exibições de loja do mesmo produto do pacote. Anteriormente, os títulos de opção de produto de pacote eram substituídos pelo título da primeira opção para outras exibições da loja.
  • Os produtos agrupados agora podem ser filtrados com êxito do Administrador Catalog > Products ao usar um local holandês. Anteriormente, o Adobe Commerce exibia este erro quando você tentava filtrar em Type: Bundle Product: Something went wrong with processing the default view and we have restored the filter to its original state. GitHub-35704
  • A grade de produtos não lança mais uma exceção quando os produtos de pacote têm um preço especial superior a 1000. Anteriormente, ao pesquisar o produto pelo SKU ou navegar até Catalog > Products, a Adobe Commerce exibia este erro: Non Numeric value encountered. GitHub-36284)
  • As colunas no aviso de crédito e nos PDF de fatura para pedidos que contêm uma combinação de pacote e produtos simples agora são renderizadas corretamente. Anteriormente, as colunas estavam distorcidas ou desalinhadas.
  • Em consultas GraphQL que contêm um fragmento BundleProduct, o objeto items.options.product contém os dados esperados. Anteriormente, o objeto podia ser nulo em algumas circunstâncias.
  • Quantidades decimais para opções de pacote agora são renderizadas corretamente quando Quantity uses decimals está habilitado. Anteriormente, somente a parte inteira da quantidade era renderizada, não o componente fracionário. Por exemplo, uma quantidade de 1,5 foi renderizada como 1,0. GitHub-35964
  • As consultas de produto do GraphQL agora retornam somente opções de produto agrupadas dentro do escopo da loja que está sendo consultada.
  • Os produtos que não estão atribuídos a categorias, mas que são opções de produtos para pacotes ou produtos agrupados, agora são retornados em respostas quando a configuração Allow Category Browsing está habilitada para o cliente que está enviando a consulta.

Cache

  • O cache de página inteira não é mais liberado após o preenchimento do pedido, a menos que o produto solicitado esteja esgotado. Anteriormente, o cache era removido para a categoria sempre que uma entrega era criada.
  • Agora, os dados são armazenados em cache com êxito quando o cache L2 é configurado e os dados remotos são parcialmente removidos. Anteriormente, após liberar somente o cache de dados sem os hashes desses dados, o novo cache não era salvo enquanto os hashes de dados existiam.
  • Correção de defeitos em CatalogUrlResolverIdentity e CmsUrlResolverIdentity que impediam o armazenamento em cache. Isso afetou o cache de consulta de rota em várias solicitações.

Carrinho e check-out

  • Os compradores agora podem adicionar mais um item ao carrinho quando o carrinho contém a quantidade mínima do produto simples.
  • As chamadas da API REST para recuperar dados do carrinho agora retornam os mesmos valores grand_total e base_grand_total quando a moeda de armazenamento e a moeda base são as mesmas. GitHub-34649
  • O valor exportado de Maximum Qty Allowed in Shopping Cart agora corresponde ao valor padrão definido na definição da configuração de Administração.
  • A Adobe Commerce agora calcula corretamente o total geral de reembolsos de pedidos com desconto para envio.
  • O Google reCAPTCHA agora funciona conforme esperado para pedidos de vitrine. Anteriormente, o Adobe Commerce exibia esses erros quando o Google ReCAPTCHA não era selecionado pela primeira vez antes de um comprador tentar fazer um pedido pela primeira vez: ReCaptcha validation failed, please try again e No such cart with id = ID.
  • A atualização da imagem CAPTCHA agora atende à definição da Configuração de administrador e não é acionada quando a definição está desativada. Anteriormente, a atualização era acionada sempre que o método de pagamento era alterado, independentemente da configuração estar ativada ou desativada. GitHub-34855
  • O Adobe Commerce agora exibe um pop-up de confirmação conforme esperado antes de redirecionar um comprador para a próxima página quando ele altera a quantidade do produto na página do carrinho sem atualizar o carrinho e, em seguida, tenta navegar até a próxima página.
  • Os compradores agora podem diminuir a quantidade de um produto do carrinho depois que ela foi diminuída no Administrador. Anteriormente, a Adobe Commerce exibia o seguinte erro quando um comprador tentava diminuir a quantidade do produto: The requested qty is not available. GitHub-35780
  • O Adobe Commerce não lança mais um erro no console do JavaScript quando a quantidade do produto excede o máximo configurado durante a finalização de remessa múltipla. Em vez disso, o Adobe Commerce agora exibe uma mensagem de erro informativa. GitHub-36184
  • A quantidade de itens na página do carrinho de compras não é mais representada como um número negativo quando um comprador usa a tecla de seta para baixo do teclado para alterar a quantidade do produto. GitHub-36299
  • Os compradores não podem mais adicionar ao carrinho um produto de uma categoria que agora não é permitida após alterar o grupo de clientes ao qual o comprador pertence. O Adobe Commerce agora verifica o acesso às permissões do grupo de clientes para categorias específicas quando as configurações de permissão forem alteradas.
  • Os carrinhos de compras do cliente não são mais esvaziados antes da criação do pedido pelo administrador e o conteúdo do carrinho agora é restaurado se o pedido for cancelado ou abandonado. Os itens agora são removidos do carrinho somente após a criação do pedido. Anteriormente, sempre que um usuário administrador tentava criar um pedido na página Admin Gerenciar carrinho de compras, o carrinho era esvaziado.
  • O minicarrinho agora exibe imagens corretas do produto depois que você executa o bin/magento catalog:image:resize. Anteriormente, todas as imagens eram substituídas pela imagem padrão do espaço reservado do produto. GitHub-35535
  • O check-out agora pode ser concluído com êxito quando o endereço de entrega contiver um atributo de extensão. Anteriormente, o Adobe Commerce exibia este erro: Object of class Magento\Quote\Api\Data\AddressExtension could not be converted to string. GitHub-34202
  • A mutação addBundleProductsToCart não adicionará mais produtos a uma cotação se uma opção de produto necessária não tiver valor. GitHub-25676
  • O Adobe Commerce agora retorna uma mensagem informativa quando uma mutação addProductsToCart falha ao adicionar um produto ao carrinho com permissões insuficientes.
  • O Adobe Commerce não lança mais um erro na página do carrinho quando o Pedido rápido é usado para adicionar um produto em uma quantidade que excede o estoque disponível.
  • A mutação setGiftOptionsOnCart agora requer autorização do cliente para operações do carrinho do cliente.

Regra de preço do carrinho

  • As opções de entrega gratuita da regra de preço do carrinho definidas durante a criação da regra agora são aplicadas às ordens, conforme esperado. Anteriormente, as opções de frete gratuito aplicadas durante a regra criada eram ignoradas durante o check-out e o frete gratuito não era permitido quando a regra era aplicada. GitHub-35013
  • A coluna discount_percent da tabela sales_order_item de um produto agora é preenchida como esperado com a porcentagem de desconto quando a quantidade de desconto do item não está definida ou é maior ou igual à quantidade do item da ordem. Anteriormente, essa coluna não era preenchida quando uma regra de preço do carrinho era aplicada a este produto.
  • O widget lista de produtos não exibe mais preços incorretos ou em cache para um comprador conectado. O preço exibido no widget da página inicial agora corresponde ao endereço do comprador e é atualizado quando o comprador atualiza o endereço. Anteriormente, o cache do navegador não atualizava os preços do produto na página inicial com base nas regras de imposto do grupo de clientes.
  • O recurso de lista Comparar produtos agora funciona corretamente em uma implantação de vários sites e depende do site.
  • O Adobe Commerce não exibe mais os dados da página anterior quando você recarregar uma página de detalhes do produto. Anteriormente, quando a página de detalhes do produto era recarregada, os dados da primeira guia eram mesclados com os dados recém-carregados por uma divisão de segundo.
  • As categorias com subcategorias agora podem ser expandidas no menu principal em dispositivos móveis, conforme esperado. Anteriormente, os compradores não podiam abrir ou expandir categorias com subcategorias em implantações móveis. GitHub-35329
  • As listagens de categoria agora são atualizadas conforme esperado quando um produto é atribuído a um novo site ou loja. Anteriormente, o indexador de preço do produto não era marcado como inválido e acionado novamente em uma execução cron, conforme esperado. Como resultado, a entrada de preço do produto não estava na tabela de índice de preço e não era exibida na nova loja ou site.
  • A contagem de inventário da loja agora é precisa quando a configuração Display Out of Stock Products está habilitada. GitHub-35899
  • A página de categoria não fica mais vazia quando a configuração Allow All Products Per Page está habilitada. GitHub-35900
  • A opção de configuração Display Out of Stock Products agora funciona conforme esperado quando habilitada. Anteriormente, todos os produtos eram exibidos como indisponíveis na loja quando essa opção estava ativada no administrador. GitHub-35898
  • Os clientes atribuídos a um grupo Atacado agora podem adicionar um produto agrupado ao carrinho, quando permitido por permissões de categoria. Se essa permissão não for definida para um grupo de Clientes, a configuração terá prioridade.
  • A classificação de produtos por atributos booleanos agora funciona conforme esperado. GitHub-36390
  • Os descontos da regra de preço de catálogo não são mais aplicados às opções de produto personalizadas de preço fixo, mas são aplicados apenas ao preço original do produto.
  • Os produtos relacionados agora são obtidos com êxito na página de detalhes do produto da loja quando gerados pela regra de produto relacionada para atributos alfanuméricos do produto. GitHub-36285
  • As regras de preço de catálogo agora levam em conta o escopo selecionado e são aplicadas aos produtos somente para os sites para os quais o atributo tem um valor de opção que corresponde à regra. Anteriormente, a regra não levava em conta o escopo selecionado em implantações de vários sites. GitHub-36049
  • Os atributos de cor e tamanho das opções de amostra agora são pré-selecionados na página Detalhes do produto quando um comprador modifica o produto configurável na página Meu carrinho. (A versão jQuery 3.x agora oferece suporte ao nome do widget swatchRenderer, que agora faz parte do tipo camel case.) Anteriormente, a opção de amostra não era pré-selecionada.
  • Agora os clientes são notificados sobre quedas de preço do produto quando o cliente é inscrito no alerta de queda de preço. Anteriormente, as notificações de queda de preço nem sempre eram enviadas devido ao armazenamento em cache no nível do aplicativo.
  • As regras de catálogo baseadas em SKUs com a condição is not one of agora funcionam conforme esperado.
  • O Adobe Commerce não assume mais erroneamente que uma categoria é a categoria principal de outra com base no caminho da categoria. Anteriormente, quando duas categorias eram adjacentes e uma ID de categoria começava com a ID de categoria de outra categoria, a Adobe Commerce presumia que as categorias tinham a mesma categoria principal. GitHub-32464

Produtos configuráveis

  • O Adobe Commerce não emite mais um erro quando um usuário administrador adiciona produtos manualmente a um produto configurável que já tem muitos produtos simples atribuídos a ele. Anteriormente, o Adobe Commerce exibia este erro: Something went wrong with processing the default view and we have restored the filter to its original state.
  • Os compradores não podem mais adicionar produtos configuráveis com uma quantidade comercializável de 0 ao carrinho de compras em implantações com pedidos pendentes desativados. O Adobe Commerce agora indica que o produto está esgotado. GitHub-35319
  • A criação de um novo produto importando um produto configurável com muitas opções de uma visualização de loja diferente agora resulta em uma cópia exata do primeiro produto, conforme esperado. Anteriormente, a ordem de classificação das opções configuráveis do novo produto estava incorreta, e os títulos não eram traduzidos para o local do novo modo de exibição da loja em implantações com vários modos de exibição de loja e locais. GitHub-35200
  • Os produtos configuráveis com todos os produtos secundários indisponíveis agora são exibidos como indisponíveis na loja.
  • As SKUs e os nomes de produtos configuráveis agora são exibidos com precisão. Anteriormente, nomes e SKUs eram exibidos como indefinidos depois que você movia um grupo de atributos para cima do grupo Detalhes do Produto em Stores > Attribute set. GitHub-36309

Cupons

  • A lógica de validação foi adicionada ao fluxo de trabalho Gerenciar códigos de cupom para aplicar as configurações de código do cupom ao gerar cupons. Anteriormente, a geração de código de cupom ignorava a configuração Code Length quando o valor de Quantidade de Cupom era maior que 2500.
  • Os pontos de recompensa agora são adicionados à conta de um cliente conforme esperado quando um cupom de recompensa é aplicado durante o checkout com o método de pagamento PayPal Express.
  • Agora é possível aplicar um código de cupom durante a criação da ordem de Administrador quando a regra de preço do carrinho tem o peso como uma condição. Anteriormente, os códigos de cupom não eram definidos se outros campos não fossem selecionados para o produto. GitHub-36271
  • Agora você pode filtrar relatórios de cupom por várias regras de preço de carrinho. GitHub-36272
  • Agora as opções personalizadas são aplicadas e salvas quando um usuário administrador pressiona Enter ao configurar um produto com opções personalizadas. Anteriormente, você podia selecionar opções e adicionar o produto a um pedido, mas as opções não eram salvas e o usuário administrador era solicitado a selecionar novamente as opções do produto. GitHub-35284
  • Os códigos de cupom agora podem ser exportados com êxito para XML do Excel. Anteriormente, o arquivo gerado não continha todos os códigos de cupom selecionados, mas apenas a quantidade de itens selecionados no seletor de itens por página.GitHub-36073

cron

  • O trabalho cron catalog_index_refresh_price agora é executado com êxito. Anteriormente, a Adobe Commerce registrava este erro durante a execução do cron: report.ERROR: Cron Job catalog_index_refresh_price has an error: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens.

Moeda

  • Um espaço ausente entre símbolos e preços de moeda personalizados foi adicionado aos preços de produtos de vitrine e administrador. A condição e expressão regex apropriadas foram adicionadas para permitir um NBSP personalizado em símbolos de moeda. Por exemplo, IDRx 105.00 era exibido anteriormente como IDRx105.00.

Segmento do cliente

  • O filtro Sim/Não na grade Segmentos do cliente de administração durante a criação de uma nova regra de preço do carrinho agora funciona conforme esperado.

Email

  • O Adobe Commerce não envia mais emails duplicados de um cliente depois que um pedido é criado pelo administrador.
  • Emails de ordem de administrador não são mais enviados quando a configuração Email order confirmation está desabilitada. GitHub-36256
  • As opções de imagem não são mais exibidas como marcação de HTML no aviso de crédito, confirmação de pedido e emails de cliente de fatura (modelo padrão) para produtos com opções personalizadas.

Estruturas

  • Os usuários administradores agora podem abrir com êxito a página Admin Store > Configuration quando não há nenhum país na configuração Países da União Europeia (Stores > Configuration > General > Country options > European Union Countries). Anteriormente, quando um usuário administrador tentava abrir esta página, o Adobe Commerce exibia este erro: TypeError: explode(): Argument #2 ($string) must be of type string, null given in /var/www/php/folder/vendor/magento/module-config/ViewModel/CountryFilter.php:46. GitHub-35901
  • jquery.cookie dependências agora funcionam como esperado com dependências do JavaScript. Anteriormente, não era possível usar aliases para jquery/jquery.cookie. GitHub-35913
  • O comando bin/magento i18n:collect-phrases agora inclui texto <title> no arquivo CSV exportado. GitHub-35462
  • Magento\Framework\Code\Reader\ArgumentsReader::getParentCall() agora dá suporte a argumentos de construtor nomeados. Agora você pode chamar uma função definindo os parâmetros pelo nome.
  • Agora os erros são registrados como esperado no arquivo exception.log. Anteriormente, embora erros fossem registrados no arquivo system.log, erros não foram registrados em var/log/exception.log.
  • Os comerciantes agora podem especificar um provedor SMTP externo personalizado. GitHub-26104
  • As integrações OAuth agora podem ser reautorizadas, conforme esperado, em implantações que executam o Adobe Commerce 2.4.3-p2. Anteriormente, a reautorização falhou com este erro: The attempt to post data to consumer failed due to an unexpected error. Please try again later. O Adobe Commerce também tentou descriptografar valores não criptografados. GitHub-35313
  • O parâmetro rowId correto agora é passado quando a categoria urlKey é salva para categorias que têm categorias filhas. Anteriormente, o categoryId errado era passado ao salvar a categoria URLKey.
  • O código de atributo de produto event foi adicionado à lista de códigos de atributo de produto reservados, o que elimina erros associados ao uso de um atributo com esse nome na loja. Anteriormente, o aplicativo exibia esse erro nas páginas de detalhes e de pesquisa/lista de produtos quando event era usado: report.CRITICAL: Error: Call to a member function getStatus() on string in /home/mer33515/public_html/ee24develop/magento2ee/app/code/Magento/CatalogEvent/Observer/ApplyIsSalableToProduct.php:23.
  • As mensagens de erro de validação da vitrine eletrônica que ocorrem durante o posicionamento do pedido agora são exibidas de forma consistente. Anteriormente, as mensagens apareciam, recolhiam-se e reapareciam. GitHub-35651
  • Consumidores AMQP não falham mais devido a uma função trim() obsoleta em implantações executando PHP 8.1. Anteriormente, quando o consumidor AMQP era iniciado após a instalação, o Adobe Commerce exibia este erro: Deprecated Functionality: trim(): Passing null to parameter #1 ($string) of type string is deprecated in .../vendor/magento/framework-amqp/Config.php on line 143. GitHub-35380
  • O método getFilteredTimerIds agora funciona conforme esperado. A classe Magento\Framework\Profiler\Driver\Standard\Stat agora é compatível com o PHP 8.1. Anteriormente, o Adobe Commerce lançava uma exceção quando esse método era chamado. GitHub-35307
  • Dependência removida da biblioteca imagemin-svgo.
  • O processo de minificação de modelo agora processa com êxito comentários consecutivos quando o primeiro comentário começa com //. GitHub-34880
  • Corrigida uma consulta de banco de dados emitida pelo módulo BundleGraphQl que retornou este erro: "debugMessage": "Notice: Undefined offset: 16 in vendor/magento/module-bundle-graph-ql/Model/Resolver/Options/Collection.php on line 130".GitHub-34991

Correções gerais

  • O Adobe Commerce agora exibe um intervalo de tempo preciso quando um usuário administrador seleciona a opção Last 24 Hours no painel Estatísticas do administrador. Anteriormente, o Adobe Commerce exibia um intervalo de tempo incorreto. Isso ocorreu porque o fuso horário do banco de dados permaneceu inalterado.
  • Os avisos de crédito agora podem ser gerados para quantidades inteiras e decimais. Anteriormente, só havia suporte para quantidades inteiras.
  • A regra de validação de entrada de CEP do cliente para o tipo somente numérico agora funciona como esperado no campo Edit Customer Address (Store > Attribute > Customer Address). Anteriormente, as informações de endereço do cliente eram salvas sem validação de código postal.
  • Os usuários administradores com acesso restrito a um site agora podem fazer logon com êxito no Administrador usando o recurso Fazer logon como cliente.
  • As contas de clientes compartilhadas globalmente agora têm endereços validados em relação à lista de países permitidos para o site atual e salvos com sucesso. Anteriormente, essas contas eram validadas incorretamente em relação aos países permitidos no site onde o cliente estava registrado.
  • As navegações estruturais da hierarquia de páginas do CMS não são mais exibidas quando Enable Hierarchy Functionality está desabilitado. Anteriormente, as navegações estruturais eram exibidas e, quando os compradores clicavam nelas, uma página 404 era exibida. GitHub-35513
  • Remover um produto de todos os sites por meio do Administrador não causa mais o seguinte erro: SQLSTATE[42000]: Syntax error or access violation. GitHub-35133
  • Os clientes que excederem o máximo de tentativas de logon com falha agora podem fazer logon após a redefinição da senha. GitHub-34981
  • O componente de linhas dinâmicas agora se comporta conforme esperado quando um usuário administrador adiciona um novo elemento. Anteriormente, o componente de linha se comportava incorretamente quando um novo produto simples era adicionado a um produto agrupado. GitHub-34850
  • Erros de digitação e gramática incorreta corrigidos no arquivo app/code/Magento/Backend/etc/menu.xsd.
  • O arquivo app/code/Magento/Authorization/README.md foi atualizado para descrever com precisão a criação da tabela.
  • O método recordLogin foi atualizado para definir valores de logon no modelo de usuário, bem como para preservar os valores corretos nos campos logdate e lognum da tabela admin_user. Anteriormente, as tentativas de logon de usuários administradores atualizados não eram registradas.
  • Modelos de problemas do GitHub foram convertidos em formulários de problemas para a experiência do desenvolvedor e solicitações de recursos.
  • O atributo do cliente Is required agora é implementado corretamente por escopo de site para o formulário de edição do cliente Administrador.
  • O campo Grid Filter Condition Type dos atributos de endereço do cliente e do cliente não fica mais visível na página de edição de atributos quando a configuração Use in Filter Options está desabilitada.
  • O Adobe Commerce agora exibe uma mensagem de erro informativa se um comerciante não inserir um valor de atributo SKU opcional ao criar um produto. Anteriormente, o aplicativo lançava esta exceção quando o atributo era opcional: Deprecated Functionality: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/mg244/project-community-edition/vendor/magento/module-eav/Model/Entity/AbstractEntity.php on line 932. GitHub-35810
  • O filtro Show my quotes na página My Quotes agora funciona conforme esperado. Anteriormente, os resultados do filtro incluíam as cotações de outros usuários administradores.

Cartões-presente

  • As quantidades de produto do cartão-presente agora permanecem iguais à quantidade especificada em um arquivo CSV durante a importação. As verificações de opções existentes foram adicionadas e os valores antigos agora são atualizados com base em uma chave exclusiva. Anteriormente, os valores de cartão-presente eram duplicados quando os cartões-presente eram importados várias vezes.

Invólucro de presente

  • O preço de quebra de presente agora é exibido conforme esperado no bloco de resumo do pedido quando a quebra de presente é aplicada no nível do pedido a um pedido que contém produtos físicos e virtuais. Anteriormente, o Adobe Commerce não exibia o preço de embalagem do presente.

GraphQL

  • Types que implementam várias Interfaces no código GraphQL agora podem ser separadas por um sinal & e , de acordo com a especificação @doc do GraphQL.
  • A mutação setShippingAddressesOnCart agora dá suporte à configuração de códigos de região numérica como region. Anteriormente, essa mutação funcionava incorretamente para valores de código de região numérica.
  • A consulta products agora retorna somente revisões associadas ao escopo especificado. Anteriormente, as consultas retornavam análises de todas as lojas.
  • As permissões de categoria agora são respeitadas durante solicitações do GraphQL.
  • A consulta customer agora filtra corretamente pedidos com um intervalo from e to especificado. GitHub-31537
  • A consulta product agora retorna dados de categoria corretos na agregação. Anteriormente, attribute_code.category_uid retornava o valor de category_id em vez de category_uid.
  • A consulta customerOrders não lança mais um erro \"model\" value should be specified. GitHub-35852
  • A consulta customer agora filtra ordens com base no escopo. Agora é possível especificar se a consulta deve filtrar pedidos por loja, site ou globalmente.
  • A consulta categoryList agora retorna uma contagem de produtos precisa para categorias pai ancoradas e não ancoradas. O novo atributo is_anchor foi adicionado à lista de colunas selecionadas da coleção de categorias. Anteriormente, as solicitações retornavam uma contagem de produto 0. GitHub-36300
  • A mutação generateCustomerTokenAsAdmin agora funciona como esperado ao criar um token para fazer logon em um armazenamento não padrão em uma implantação de vários armazenamentos. GitHub-35084
  • A mutação createEmptyCart agora aciona uma exceção conforme esperado quando um token expirado é usado. GitHub-26112
  • As mensagens de erro de consulta do carrinho se tornaram mais informativas. GitHub-34546
  • Os dados de agregação na resposta de uma consulta products agora incluem valores corretos para o atributo de tipo de preço attribute_code e label. GitHub-28878
  • A consulta products retorna informações de categoria conforme esperado quando o prefixo do banco de dados tem um valor não nulo. Anteriormente, retornava um Internal server error. GitHub-36117
  • Tipo de retorno corrigido para o método getCustomerIsGuest. GitHub-29529
  • O plug-in Magento\CatalogGraphQl\Plugin\DesignLoader foi refatorado.
  • Agora, o recarregamento do carrinho é acionado apenas uma vez, conforme esperado, quando o carrinho é inicializado por mutações do GraphQL. Anteriormente, o carregamento do carrinho acionava revalidação desnecessária do carrinho em relação ao inventário de estoque, que consumia recursos significativos sempre que o carrinho era carregado.
  • Adição do tipo gift_message ao OrderItemInterface. GitHub-29418
  • As opções de produto retornadas nas respostas do GraphQL agora incluem apenas os produtos que estão no catálogo ao qual o usuário pertence. Se o usuário pertencer a um catálogo compartilhado, somente os produtos nos catálogos compartilhados serão retornados. Se o usuário for um convidado ou não fizer parte de um catálogo compartilhado personalizado, apenas os produtos no catálogo público serão retornados.

Google ReCAPTCHA

  • Um erro de reCAPTCHA no arquivo var/log/exception.log para o logon de Administrador do reCAPTCHA do Google V3 foi resolvido e nenhuma mensagem de erro foi registrada. Anteriormente, o seguinte erro era gerado a cada poucos segundos quando um usuário administrador definia suas configurações de Configuration > Security > Google reCAPTCHA Admin Panel: main.ERROR: Can not resolve reCAPTCHA parameter. {"exception":"[object] (Magento\Framework\Exception\InputException(code: 0): Can not resolve reCAPTCHA parameter. at /home/xxxxxxx/public_html/vendor/magento/module-re-captcha-ui/Model/CaptchaResponseResolver.php:25)"} []. GitHub-34975

Imagem

  • Atualização das recomendações sobre o tamanho do logotipo para a guia da fatura de PDF.

Importar/exportar

  • A importação de um produto com a mesma chave de URL numérica que um produto existente, mas sem seu caractere alfabético terminal, não causa mais um erro de validação quando o Product URL Suffix está definido como vazio no Admin.
  • O comando bin/magento app:config:import agora importa com êxito o conteúdo de um arquivo config.php quando ele contém determinadas expressões cron. Anteriormente, a importação falhou com este erro: Import failed: Notice: Trying to access array offset on value of type null in [..]/vendor/magento/module-config/Model/Config/Backend/Currency/Cron.php on line 66. GitHub-31428
  • A exportação completa agora funciona corretamente quando o AWS S3 é usado como armazenamento remoto. Anteriormente, a exportação falhava devido ao tamanho do arquivo carregado.
  • O status do produto agora é importado corretamente quando as colunas de dados do inventário no arquivo CSV estão ausentes. Anteriormente, após a importação do produto, a origem padrão era atribuída automaticamente ao produto, sua quantidade era definida como zero e seu status era listado como indisponível quando as colunas de dados do inventário no arquivo CSV estavam ausentes.
  • A importação de valores de precificação antecipada agora fornece a contagem correta para registros novos e atualizados quando a importação inclui mais de 100 registros. Anteriormente, a mensagem de sucesso da importação fornecia a contagem errada.
  • Os arquivos CSV exportados agora contêm caminhos corretos para nomes de categoria que são salvos em vários idiomas. Uma ID de loja foi adicionada à coleção de categorias. Anteriormente, os arquivos exportados continham caminhos mistos com idiomas diferentes em vez de um caminho de categoria derivado da visualização de armazenamento padrão.
  • A atualização de opções personalizadas de um produto em uma exibição de loja específica por meio da importação agora é concluída com sucesso. Anteriormente, um erro interno de servidor era lançado se uma linha relacionada ao produto fosse dividida em vários lotes.
  • O serviço de importação do Fixer.io agora funciona conforme esperado. As taxas de moeda agora são importadas com sucesso. GitHub-36010

Índice

  • O indexador batch_size para o índice catalogpermissions_category foi alterado para o valor fornecido no arquivo env.php, conforme esperado. Anteriormente, um erro de digitação no caminho para a substituição do indexador batch_size impedia a alteração do tamanho do lote para o valor fornecido em env.php. GitHub-652
  • A reindexação de preço agora é executada com sucesso quando o catálogo contém produtos de pacote que não estão atribuídos a nenhum site. Anteriormente, o seguinte erro ocorria quando o índice de preço do produto era executado: Warning: Undefined array key <bundel product id > in vendor/magento/module-bundle/Model/ResourceModel/Indexer/Price/DisabledProductOptionPriceModifier.php on line 117. GitHub-35796

Infraestrutura

  • Limpeza adicionada de valores DATE e DATETIME nos despejos de banco de dados para suporte ao Adobe Commerce. Anteriormente, os campos do tipo datetime não eram limpos para tabelas de clientes/cotações/pedidos na tabela de backup do banco de dados.
  • A função escaper.js escapeHtml agora converte o caractere especial E comercial (&) em "$amp;" de acordo com a regra InnerHtml. Essa solução genérica resolve problemas de conversão de referências a caracteres e caracteres especiais na caixa de entrada de título e salva o valor exato conforme inserido. Anteriormente, os caracteres de E comercial (&) eram codificados incorretamente nos nomes de nó na hierarquia de conteúdo.
  • Problemas com o módulo colinmollenhour/php-redis-session-abstract de terceiros e o PHP 8.1 foram resolvidos. GitHub-35634

Galeria de mídia

  • A Galeria de mídia herdada agora está desativada por padrão. Anteriormente, Enable old Media gallery estava definido como Yes.
  • A Galeria de novas mídias foi otimizada para melhorar o carregamento da árvore de diretório na página de categoria.

Logs

  • Agora você pode gerar relatórios do sistema para arquivos de log de 0 bytes. Anteriormente, o Adobe Commerce emitia um erro ao gerar um relatório para uma coleção de arquivos de log quando um ou mais arquivos estavam vazios.

Pedido

  • A página de aviso de crédito de ordem de venda de Administrador agora exibe o total geral correto para pedidos criados com Crédito de loja e várias faturas. Anteriormente, o cálculo do total geral estava incorreto e o usuário não podia gerar um memorando de crédito.
  • O prefixo do pedido passado no script de instalação agora é adicionado corretamente à ID do pedido.
  • A página de detalhes do pedido agora é carregada com êxito quando o pedido contém um produto com um valor de texto personalizado longo. Anteriormente, a página de detalhes do pedido não carregava e o valor na coluna sales_order_item.product_options não era armazenado corretamente se um produto continha um valor longo para uma opção personalizada de texto.
  • O status do pedido de vitrine agora é preciso para pedidos parcialmente reembolsados. Anteriormente, um pedido permanecia no estado de processamento após a entrega quando um reembolso parcial era aplicado. GitHub-35528
  • O grupo de clientes agora é representado precisamente como Não conectado para um pedido criado por um usuário convidado. Anteriormente, o grupo de clientes era NULL nos resumos de pedidos de convidados, o que afetava os emails de confirmação e a exportação de pedidos. GitHub-35440
  • Um status de Closed agora está atribuído a pedidos virtuais conforme esperado depois que um aviso de crédito é emitido e o cliente é reembolsado. Anteriormente, os produtos virtuais eram exibidos como Complete no menu suspenso Status, mas Closed no rodapé dos comentários do pedido quando o comentário era adicionado do administrador. GitHub-35283
  • Os clientes agora podem fazer pedidos de produtos com uma quantidade menor que um, e a quantidade do produto agora é estritamente tipada como float. Anteriormente, como a quantidade do produto era estritamente tipada como int, os pedidos com uma quantidade de produto menor que um falhavam com esta mensagem: Some of the products are disabled. GitHub-36060
  • Os reembolsos de envio agora são calculados corretamente quando a opção de configuração Apply discount on prices está definida como including taxes.
  • As grades de nota fiscal, remessa e aviso de crédito agora são atualizadas de forma assíncrona depois que os pedidos são arquivados.
  • Os pedidos duplicados não resultam mais de solicitações GraphQL simultâneas e idênticas. As cotações agora ficam bloqueadas por até 10 segundos para evitar a criação de pedidos duplicados, e a segunda solicitação falha com estes erros: The cart isn't active ou The order has already been placed and is currently processing. Este valor de bloqueio pode ser configurado por meio de id para o parâmetro lockWaitTimeout da classe Magento\Quote\Model\PlaceOrderMutex. GitHub-36274
  • Adicionar um comentário a um pedido arquivado não o retorna mais à grade pedidos não arquivados, mantendo seu status arquivado.
  • Os valores de atributo da empresa agora são exibidos conforme esperado nas seções de endereço de entrega e cobrança do fluxo de trabalho de finalização da compra. Anteriormente, os atributos da empresa não eram exibidos corretamente na página de detalhes do pedido porque as lojas não eram definidas corretamente durante a criação do pedido. Os valores de atributo foram armazenados corretamente somente quando a propriedade Mostrar Empresa foi definida como optional para Site Principal em implantações de várias lojas.
  • O valor customer_address_id agora está definido como esperado para um novo endereço de cobrança quando a caixa de seleção My billing and shipping address are the same está marcada. Uma condição adicional foi introduzida para identificar se o endereço de faturamento é igual ao endereço de entrega antes de definir a ID do endereço do cliente para o endereço de entrega.
  • Problemas de simultaneidade com o posicionamento do pedido foram resolvidos. Anteriormente, se dois pedidos eram feitos em navegadores diferentes ao mesmo tempo, ou quase ao mesmo tempo, ambos os pedidos eram atribuídos à mesma ID de pedido. GitHub-35833
  • Fazer um pedido faturado automaticamente para um produto gratuito quando a indexação assíncrona estiver ativada agora funciona conforme esperado. Nenhuma entrada é adicionada à tabela sales_order_grid or sales_invoice_grid para esses pedidos. Anteriormente, o Adobe Commerce lançou uma exceção porque o aplicativo tentou indexar as grades durante o posicionamento do pedido em vez de depender de cron. GitHub-36334

Page Builder

  • Agora você pode usar o recurso de arrastar e soltar do Page Builder para importar imagens em massa para a galeria.
  • Problemas com a regra CSS do controle deslizante do Page Builder foram resolvidos. GitHub-34527
  • Os atributos Dropdown, Text area e Text field agora estão disponíveis na lista de atributos de produto do Page Builder. Anteriormente, somente Dropdown e Text area atributos estavam disponíveis.

Pagamento

  • O método de pagamento COD não é mais renderizado no fluxo de trabalho de check-out da vitrine eletrônica quando o COD está isento para o país especificado nos endereços de entrega e cobrança. Anteriormente, as definições de configuração de administrador para esse recurso não eram implementadas.
  • As informações de pagamento do cofre não são mais exibidas na seção Pagamento do fluxo de trabalho de criação de ordem do Administrador se o comprador não tiver salvo um token. GitHub-33954
  • Os preços personalizados não são mais duplicados depois que um desconto é aplicado pela regra de preço do carrinho. GitHub-35154
  • O novo status de pedido pendente agora é respeitado conforme esperado quando um pedido é feito usando o método de pagamento Check-out de subtotal zero.
  • As configurações de email de convidado agora são respeitadas durante a criação de pedidos para um comprador convidado com o PayPal Express via GraphQL. Anteriormente, o endereço de email definido era substituído pelo endereço de email definido na conta do PayPal.

Braintree

  • As IDs de pedido agora são adicionadas às solicitações de liquidação para transações de pagamento.
  • O Adobe Commerce não lança mais o seguinte erro quando um comerciante clica em Reports > Braintree Settlement: Error: Undefined constant Braintree\PaymentInstrumentType::ANDROID_PAY_CARD in /var/www/html/vendor/paypal/module-braintree-core/Ui/Component/Report/Listing/Column/PaymentType.php:49. GitHub-35434
  • A consulta customerPaymentTokens não retorna mais tokens Braintree quando o cofre é desativado no Administrador.
  • O botão Pay Later e os banners foram habilitados para a Itália e a Espanha.
  • Os usuários administradores agora podem criar um pedido ou um novo pedido quando o método de pagamento Braintree está habilitado. Anteriormente, o Adobe Commerce exibia este erro: report.CRITICAL: Error: Call to a member function getMethodInstance() on null in /app/vendor/paypal/module-braintree-core/Block/Form.php:174.
  • O check-out usando o método de pagamento Braintree agora é concluído com êxito quando o Braintree PayPal é habilitado e o Enable Card Payments é desabilitado. Anteriormente, a barra de progresso nunca era resolvida, e o Adobe Commerce exibia este erro de console: adapter.js:66 Uncaught TypeError: Cannot read properties of undefined (reading 'clientToken')at Object.getClientToken (adapter.js:66:66). GitHub-35961
  • Foram implementados os ganchos da Web de proteção contra fraudes, pagamento ACH e método de pagamento local. O gancho da Web de proteção contra fraude é acionado somente se uma decisão de risco tiver sido tomada no Braintree. O gancho da Web ACH é disparado somente depois que um pagamento ACH é atualizado para settled ou settlement decline.
  • Os campos de configuração Tagline e Layout foram removidos de todos os botões PayPal na seção Estilo do Administrador.
  • A opção de método de pagamento do Cofre de Braintree permanece selecionada no fluxo de trabalho de finalização quando um comprador atualiza seu endereço de faturamento. Anteriormente, o método de pagamento era desmarcado quando o comprador desmarcava o botão My billing and shipping address are the same.
  • Os itens de linha agora são passados para transações do PayPal quando a configuração Send Line Items é habilitada do Administrador.
  • A lógica de validação no campo Método de pagamento ACH Account Number agora aceita texto de quatro a 17 dígitos.
  • A consulta customerPaymentTokens não retorna mais tokens de Braintree quando o cofre é desativado do Administrador.
  • Os usuários administradores agora podem criar um pedido ou um novo pedido para clientes quando o método de pagamento Braintree estiver ativado. Anteriormente, o Adobe Commerce exibia este erro: report.CRITICAL: Error: Call to a member function getMethodInstance() on null in /app/vendor/paypal/module-braintree-core/Block/Form.php:174
  • Os compradores agora podem usar o método de pagamento Braintree em vitrines onde Enable Card Payments foi desabilitado. Anteriormente, o Adobe Commerce exibia este erro do JavaScript: _adapter.js:66 Uncaught TypeError: Cannot read properties of undefined (reading 'clientToken')at Object.getClientToken (adapter.js:66:66).

Desempenho

  • O indexador de preços agora exclui dados desatualizados, conforme esperado, após substituir registros durante a reindexação parcial de catálogos grandes. Anteriormente, o processo de reindexação removia registros desatualizados antes de substituí-los, o que fazia com que os produtos desaparecessem temporariamente da loja ocasionalmente. GitHub-35616
  • O desempenho do comando bin/magento/setup:upgrade foi aprimorado. Anteriormente, esse comando recriava os acionadores do banco de dados, o que causava um tempo de inatividade significativo durante a execução do comando. Além disso, os indexadores não voltaram ao modo agendado e permaneceram no modo de salvamento. GitHub-33386
  • A atualização dos preços de nível por API agora é executada mais rapidamente. Anteriormente, a atualização dos preços de camada gerava consultas SELECT desnecessárias, que atrasavam a execução quando muitos grupos de clientes eram atribuídos a um produto.
  • O carregamento de páginas que incluem a lista de produtos do widget de catálogo foi otimizado. Anteriormente, os atributos não globais eram carregados diretamente do banco de dados.

Relatórios

  • O relatório Log de administração agora mostra um valor Value before change preciso quando uma regra de categoria é atualizada.
  • O relatório de Total de pedidos de e a datas agora é exibido corretamente após a seleção do seletor de datas.
  • A constante ANDROID_PAY_CARD em Braintree/Ui/Component/Report/Listing/Column/PaymentType.php substituiu GOOGLE_PAY_CARD. Isso soluciona problemas com o relatório de Braintree.

Autorizações de devolução de produto (RMA)

  • O campo de comentário RMA (Orders > Return) não contém mais espaços em branco redundantes. (As marcas <textarea> e <?php agora estão em uma linha.
  • A caixa de seleção Use Config Settings do campo Enable RMA agora salva seu valor conforme esperado quando um produto é salvo.

Resenhas

  • Os usuários administradores com acesso restrito a um escopo específico agora podem excluir análises de produtos conforme esperado.

Funções

  • Adicionada uma ACL ausente para Stores > Configuration > Services > OAuth. Anteriormente, não era possível definir o acesso a essa configuração do OAuth ao configurar permissões de função.

Pesquisar search-heading

  • As pesquisas de cadeias de caracteres entre aspas agora funcionam como esperado quando a configuração Minimum Terms to Match está habilitada. Anteriormente, o Adobe Commerce exibia este erro: {"error":{"root_cause":[{"type":"parsing_exception","reason":"[match_phrase] query does not support [minimum_should_match]' ....
  • O filtro de pesquisa Ponto de inscrição para registros de clientes nas grades do cliente da ordem de venda agora funciona conforme esperado durante a criação da ordem.
  • A qualidade das sugestões de pesquisa foi aprimorada para consultas de várias palavras.
  • Os resultados da pesquisa agora incluem saídas de opções indisponíveis para todos os produtos disponíveis quando Display Out Of Stock Products está habilitado GitHub-36055

Envio

  • As taxas de envio para FedEx, USPS e UPS são calculadas corretamente quando a regra Carrinho de remessa gratuita é definida para corresponder apenas a um subconjunto de itens no carrinho.
  • A página Administração de remessa não exibe mais a opção de remessa gratuita quando o total do pedido é menor que o valor mínimo do pedido especificado que é elegível para remessa gratuita. GitHub-33697
  • A Adobe Commerce agora respeita a definição de configuração Show Company do cliente administrador ao exibir o endereço de entrega ou do cliente. Quando esta configuração estiver desabilitada, a empresa de remessa não será mais incluída na remessa, no endereço do cliente ou no registro de pedido do banco de dados. Anteriormente, as informações eram exibidas apesar da desativação da configuração. GitHub-33729
  • Remoção de uma operação de salvamento supérflua em cotações ao estimar o envio.
  • O escopo storeId agora é aplicado diretamente de $request->getStoreId() para garantir que o escopo não seja perdido quando uma cotação for criada por um usuário administrador. Anteriormente, ocorriam problemas ocasionalmente com métodos de envio quando uma cotação era criada do Administrador usando módulos de terceiros.
  • URLs compatíveis com SEO agora são geradas para produtos cuja configuração url_key é substituída no nível da exibição da loja. Anteriormente, os URLs de produto de categoria não eram redirecionados para URLs amigáveis para SEO.
  • O Adobe Commerce não lança mais um erro de valor mínimo do pedido quando um desconto é aplicado aos custos de envio.
  • Os reembolsos de envio agora são calculados corretamente quando o imposto é aplicado após um desconto ter sido aplicado ao envio.
  • Todas as promoções aplicáveis a um carrinho solicitado por meio da consulta cart do GraphQL são retornadas. As promoções incluem descontos de item de linha, regras/descontos de carrinho, cupons, cartões-presente e crédito de loja. GitHub-35545
  • Adicionados os tipos price_excl_tax e price_excl_tax à saída da mutação setShippingMethodsOnCart. GitHub-31206
  • IDs de envio exclusivas agora são passadas nas respostas do GraphQL, conforme esperado, com detalhes de envio de pedidos enviados para vários endereços para consultas do GraphQL.

Estágios

  • O reagendamento da data de término de uma atualização de preparo não resulta mais em erro depois que a atualização é concluída. Anteriormente, os administradores não podiam abrir páginas de produtos e grades de produtos, e o Adobe Commerce emitiu este erro: report.CRITICAL: Exception: Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "1" already exists.
  • O painel de preparação agora exibe o número total correto de registros, e a paginação do painel agora funciona conforme esperado. Anteriormente. o painel exibiu no máximo 20 registros.
  • As visualizações de preparo de conteúdo agora carregam mais rápido em implantações com muitas lojas. A opção Visualizar reindexação agora reindexa somente os armazenamentos selecionados.
  • Os produtos agora podem ser adicionados ao carrinho de compras no modo de visualização de agendamento. A atualização de links de navegação estrutural no modo de visualização de agendamento com esses parâmetros corrigiu esse problema: version, timestamp e signature.

Imposto

  • A configuração Display Zero Tax Subtotal agora é aplicada conforme esperado para pedidos em implantações que oferecem vários métodos de envio. Anteriormente, o campo de imposto zero estava visível na página do carrinho durante o check-out antes de um método de envio ser selecionado, mesmo quando essa configuração estava desativada. GitHub-35561
  • O Adobe Commerce agora pode exibir produtos agrupados com impostos na página de categoria da loja em implantações executando o PHP 8.1. Anteriormente, o Adobe Commerce não exibia uma lista de produtos e gerava esta exceção: main.CRITICAL: Exception: Deprecated Functionality: ucfirst(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/m24/vendor/magento/module-tax/Pricing/Render/Adjustment.php on line 188 in /var/www/m24/vendor/magento/framework/App/ErrorHandler.php:61. GitHub-35500
  • Os comerciantes não podem mais mover uma atualização agendada para outra atualização que contenha a mesma ID de regra. Anteriormente, as atualizações de agendamento para regras de preço do carrinho criavam agendamentos duplicados quando uma atualização era movida para outra atualização que continha a mesma ID de regra.
  • A atribuição automática de grupo de clientes agora funciona quando não há ID de IVA associada ao endereço do cliente. Se o endereço não contiver uma ID de IVA, ele será tratado como pertencente a um cliente não registrado para IVA e a Adobe Commerce alterará o grupo de clientes para um grupo não-IVA. Anteriormente, quando Enable Automatic Assignment to Customer Group era habilitado, a conta do cliente não era automaticamente atribuída ao customerGroup quando a ID de IVA era excluída da conta do cliente.
  • Os blocos dinâmicos corretos agora são mostrados para regras de catálogo em etapas no modo de visualização de preparo. Anteriormente, blocos dinâmicos não relacionados eram exibidos.
  • Agora, vários impostos são renderizados corretamente na seção Resumo de Impostos de NFFs e avisos de crédito quando a entrega múltipla é aplicada durante a finalização da compra.
  • Os descontos não são mais aplicados quando um subtotal de pedido, incluindo imposto junto com o valor de Imposto fixo do produto excede a condição de regra do carrinho na página do carrinho. Anteriormente, os descontos eram aplicados mesmo quando o total excedia a condição da regra do carrinho.
  • Agora você pode especificar um vat_id ao usar o GraphQL para adicionar ou atualizar o endereço de um comprador convidado.

Teste

  • Correção de erros de testes de unidade para diferentes versões das bibliotecas ICU e libxml.
  • Os desenvolvedores agora podem instruir o sistema a executar uma correção de dados em uma visualização de loja específica. O novo parâmetro opcional scope aceita um string que corresponde ao alias de fixação de armazenamento.
  • Adição da capacidade de gerar várias instâncias de uma fixação de dados usando o parâmetro count opcional.
  • Removida a função array_first não nativa das dependências de desenvolvimento na estrutura MFTF.

Traduções e códigos de idiomas

  • A tradução em linha agora funciona corretamente com caracteres especiais, incluindo caracteres unicode estendidos em frases localizadas em tags SCRIPT. Anteriormente, os caracteres japoneses eram renderizados incorretamente no script editado ao usar a tradução em linha.
  • O caractere ñ em um nome de produto agora é convertido em n durante a geração da chave de URL.
  • A saída da execução de bin/magento i18n:collect-phrases agora inclui traduções de modelo de email em depend construções, conforme esperado. GitHub-35449
  • Agora, os caracteres japoneses podem ser inseridos diretamente no conjunto de atributos da página do produto (caixa de combinação). Anteriormente, a inserção direta de caracteres japoneses nessa caixa de combinação resultava na alteração ou exclusão de caracteres ao executar o navegador Firefox no MacOS. O atributo HTML textInput, que pode lidar melhor com a conversão de caracteres japoneses em todos os navegadores, substituiu os atributos Value e valueUpdate.
  • O método getOptions agora busca corretamente price valores de rótulo de atributo com base na exibição de armazenamento. Anteriormente, o atributo price era convertido durante operações GraphQL para a exibição de armazenamento incorreta.

IU

  • A moeda específica do site agora é usada conforme esperado para colunas de Preço especial, Custo e MSRP na grade de produtos do administrador. Anteriormente, o símbolo de moeda correto não era exibido na grade de produto do catálogo de administração ao ser filtrado pela exibição da loja por um preço especial.
  • A funcionalidade arrastar e soltar das opções personalizadas do produto agora funciona conforme esperado. Agora é possível mover uma opção personalizável de uma página para outra quando há várias páginas disponíveis na grade de opções personalizáveis.
  • Os gráficos do painel do administrador agora exibem intervalos de tempo YTD do início do ano civil atual para a data atual, conforme esperado. Anteriormente, os intervalos de datas eram incluídos por mais de 12 meses.
  • Um favicon padrão ausente na página inicial da loja foi adicionado. GitHub-35493
  • O Administrador agora exibe com êxito a data de logon mais recente de cada usuário administrador. Anteriormente, quando um usuário administrador fazia logon no Admin pela primeira vez, um valor de data de logon vazio era exibido na grade de usuários do Admin.
  • O recurso de modelo de email de visualização (Marketing > Communications > Email Templates) agora exibe os modelos corretamente. Anteriormente, a imagem de visualização era truncada. GitHub-35697
  • Adição da classe new-shipping-address-modal para oferecer suporte ao estilo do novo modal de endereço de entrega.
  • Adição de texto informativo abaixo do campo de entrada Storefront Properties do atributo Search Weight no Administrador Stores > Attributes > Product.
  • As visualizações de email agora abrem em uma guia separada, em vez de em uma janela pop-up, que fornece uma visualização mais ampla do conteúdo do email. Anteriormente, o conteúdo do email era truncado.
  • A função de filtro para a grade de funções de usuário (Administrador System > Permissions > User roles > Administrators) agora funciona conforme esperado. O valor da matriz agora é manipulado separadamente. Anteriormente, ao tentar inserir uma consulta nesta grade, o Adobe Commerce exibia este erro de console e a página não carregava: Uncaught TypeError: Cannot read properties of null. GitHub-35993
  • A validação para valores de atributo foi adicionada ao criar um cliente por meio da API REST. O processo de criação agora falha quando valores de atributos inválidos são fornecidos. Anteriormente, não havia validação para gênero, que não é um campo obrigatório. Durante a criação do cliente, o valor passado para o gênero foi salvo na tabela customer_entity.
  • Os endereços adicionados durante o check-out agora mantêm o formato esperado. Anteriormente, as linhas em branco eram ignoradas.
  • Alterar a exibição de grade de colunas da grade de produtos e selecionar novas colunas para uma exibição personalizada não aciona mais uma ação Selecionar todas as colunas da grade. Anteriormente, a caixa de coluna desaparecia e os produtos na grade eram selecionados ou desmarcados. GitHub-36302
  • Os usuários administradores agora podem limpar o log de tarefas concluídas pelo administrador com êxito. Anteriormente, o Administrador exibia este erro: Something went wrong. GitHub-36255
  • A configuração de Cabeçalho de tema Welcome Text agora pode conter um caractere de aspas simples. Anteriormente, o Adobe Commerce exibia este erro do JavaScript: Uncaught SyntaxError: Unable to process binding "ifnot: function(){return customer().fullname }".

Substituições de URL

  • Alterar a visibilidade do produto para Not Visible Individually no escopo global Todas as Exibições de Loja agora remove apenas substituições de URL para exibições de loja que não substituíram o atributo de visibilidade. Alterar a visibilidade do produto dessa maneira também gera regravações de URL para todas as exibições da loja, incluindo aquelas que substituíram o atributo de chave de URL (mas não a configuração de visibilidade). Anteriormente, as regras de regravação de URL não eram aplicadas quando as configurações de visibilidade eram alteradas.

Visual Merchandiser

  • Não é mais possível alterar manualmente as posições dos produtos nas listagens de categoria do Visual Merchandiser quando os produtos são correspondidos por regra.
  • Os usuários administradores com acesso restrito a apenas uma loja não podem mais arrastar e soltar produtos em uma categoria no Visual Merchandiser. Em vez disso, agora eles podem usar a coluna Position para reorganizar a posição do produto. Anteriormente, esses usuários podiam alterar a posição do produto em uma categoria somente ao arrastar e soltar.
  • A seção Produtos na categoria da página de edição de categoria agora exibe a quantidade correta de produtos configuráveis. A coluna de tabela correta agora é usada para recuperar a quantidade de produtos configuráveis.

Estrutura da API da Web

  • A API REST DELETE /rest/V1/products/:sku/media/:entryId agora retornará uma mensagem de erro se a imagem não for removida do produto porque está atribuída a uma função em outras exibições da loja. Anteriormente, a API retornava uma resposta bem-sucedida mesmo quando a imagem não era removida com sucesso.
  • Os comerciantes agora podem usar a REST API para criar um memorando de crédito para um pedido com total geral zero. Anteriormente, o Adobe Commerce exibia este erro: The order does not allow a credit memo to be created. The credit memo's total must be positive. We can't create a credit memo for the invoice/order.
  • A página de edição do produto Admin agora reflete com precisão as atribuições de um produto depois que a atribuição do site do produto foi alterada usando a REST API. GitHub-36281
  • IDs de opção duplicadas não podem mais ser incluídas para atributos de seleção múltipla durante solicitações em massa da API REST para atualizar produtos. Anteriormente, você podia definir IDs de opção duplicadas para atributos de seleção múltipla ao enviar uma solicitação de API em massa para atualizar um produto. Quando esse atributo de seleção múltipla foi configurado para inclusão na navegação em camadas, a indexação EAV falhou com um erro Duplicate entry.
  • Os nomes de produtos nos carrinhos de compras agora usam os valores de exibição da loja especificados conforme esperado. Anteriormente, os nomes de produtos no carrinho sempre retornavam o valor padrão de exibição da loja nas respostas do carrinho da API REST.
  • Os valores de opção personalizados do item de carrinho agora podem ser atualizados usando a API REST. GitHub-35768
  • Solicitações de API em massa para mais de 20 sourceItems foram concluídas com êxito nas implantações em que o Inventário está habilitado.
  • O serviço de moeda Fixer agora funciona conforme esperado com chaves geradas via ApiLayer e as taxas de moeda são exportadas corretamente. Anteriormente, o Adobe Commerce emitia um erro quando um comerciante tentava importar taxas de moeda por meio do Administrador.
  • Agora você pode usar a solicitação da API REST /rest/V1/bulk?searchCriteria[filter_groups] para consultar operações em massa por critérios de pesquisa. Anteriormente, o seguinte erro era retornado: report.CRITICAL: Report ID: webapi-624bbb1db96c4; Message: Item (Magento\AsynchronousOperations\Model\Operation) with the same ID "0" already exists.
  • Os preços dos produtos agora são atualizados corretamente nas páginas de pesquisa do catálogo de administração e loja usando a API Gerenciar preço base. GitHub-33767

Lista de desejos

  • Os compradores agora podem adicionar produtos à lista de desejos depois de fazer logon. Anteriormente, devido a problemas com a validação da chave de formulário após o logon, a chave de formulário enviada com a solicitação de adição à lista de desejos era invalidada.
  • Os produtos agora são adicionados conforme esperado à lista de desejos da lista de produtos e páginas de exibição depois que um cliente convidado confirma sua conta a partir de um email de confirmação. Anteriormente, os produtos não eram adicionados à lista de desejos após a confirmação da conta.
  • A consulta addProductsToWishlist agora retorna uma mensagem de erro informativa quando um comprador tenta adicionar um item a uma lista de desejos com um valor inválido para a opção personalizada select do produto. Anteriormente, a validação do servidor para o valor da opção personalizada suspensa estava ausente, o que resultava em um valor inválido no banco de dados. Como resultado, o ponto de extremidade retornou este erro interno do servidor: GraphQL endpoint returns Internal server error with "Call.

Problema conhecido

Problema: rótulos de regra de vendas em etapas podem ser incompatíveis após uma atualização para o Adobe Commerce 2.4.6 ou posterior de versões de produto anteriores à 2.4.5. Solução alternativa: aplique ACSD-50625_2.4.5-P1.patch durante a atualização antes da etapa Atualizar metadados. Consulte o artigo salesRules labels issues when upgrade from versions < 2.4.5 Knowledge Base.

Etapas gerais para resolver esse problema:

  1. Baixe o patch necessário. Consulte o artigo salesRules labels issues quando atualizar de versões < 2.4.5 da Knowledge Base.
  2. Siga as etapas de atualização descritas na fase Gerenciar pacotes do processo de atualização Executar uma atualização.
  3. Aplique este patch durante a atualização após a fase Gerenciar pacotes e antes da fase Atualizar metadados. Consulte Como aplicar um patch de compositor fornecido pelo Adobe.
  4. Conclua o processo de atualização.

Problema: não é possível criar um memorando de crédito quando o frete gratuito está habilitado (Stores > Configuration > Sales > Delivery Methods) e o preço de envio exibido inclui imposto. Quando você tenta criar um memorando de crédito, o Adobe Commerce lança esta exceção: "Division by zero".vendor/magento/module-sales/Model/Order/Creditmemo/Total/Tax.phpLine 139. GitHub-36800

Solução alternativa: um hot fix para esse problema está disponível agora. Vá para Ferramenta de Patches de Qualidade: Pesquise por patches e pesquise pelo patch ACSD-50814.

Contribuições do parceiro

A tabela a seguir destaca as contribuições feitas pelos Parceiros. Esta tabela lista o Parceiro que contribuiu com a solicitação de pull, o número da solicitação de pull externa e o número do problema do GitHub associado a ela (se disponível).

Parceiro
Solicitações Pull
Problemas relacionados do GitHub
E comercial
magento/magento2#36529 magento/magento2#36224 magento/magento2#34117
magento/magento2#36726 magento/magento2#35546 magento/magento2#36334 magento/magento2#36628
Elgentos
magento/magento2#36414
magento/magento2#36831
Olho de peixe
magento/magento2#36329 magento/magento2#36304 magento/magento2#36239 magento/magento2#36187 magento/magento2#35738 magento/magento2#35631 }magento/magento2#35540 magento/magento2#35436 magento/magento2#35033 magento/magento2#34186
magento/magento2#36641 magento/magento2#36338 magento/magento2#36554 magento/magento2#36646 magento/magento2#36648 magento/magento2#35325 }magento/magento2#35711 magento/magento2#35488 magento/magento2#34321
Perspective Studio
magento/magento2#36036 magento/magento2#36031 magento/magento2#36027
magento/magento2#36337
COMMERCE MRM
magento/magento2#35807 magento/magento2#32979
magento/magento2#35994
Interativo4
magento/magento2#35564
magento/magento2#35568
Atwix
magento/magento2#33411 magento/magento2#33148 magento/magento2#33093 magento/magento2#32889 magento/magento2#32481 magento/magento2#31794 }magento/magento2#29417 magento/magento2#25677
magento/magento2#35858 magento/magento2#29418
Consultoria em alinhamento
magento/magento2#31606
magento/magento2#31643 magento/magento2#31866
Blue Acorn iCi
magento/magento2#31360 magento/magento2#31355
magento/magento2#31443 magento/magento2#31373 magento/magento2#32625
creativestyle
magento/magento2#30647
magento/magento2#30672 magento/magento2#32985 magento/magento2#30613

Contribuições individuais do contribuinte

A tabela a seguir identifica as contribuições dos membros da comunidade. Esta tabela lista o membro da comunidade que contribuiu com a solicitação de pull, o número da solicitação de pull externa e o número do problema do GitHub associado a ela (se disponível).

Membro da comunidade contribuinte
Solicitações Pull
Problemas relacionados do GitHub
amenk
magento/magento2#36663
magento/magento2#14495
conveniente
magento/magento2#36529
magento/magento2#36726 magento/magento2#35546
hostep
magento/magento2#36495
magento/magento2#36515
sinhaparul
magento/magento2#36458
magento/magento2#36639
barryvdh
magento/magento2#36452
magento/magento2#32004 magento/magento2#36891
peterjaap
magento/magento2#36414
magento/magento2#36831
engcom-Delta
magento/magento2#36411
magento/magento2#35971 magento/magento2#36841
freezy-sk
magento/magento2#36379
magento/magento2#36640
ilnytskyi
magento/magento2#36370
magento/magento2#36482 magento/magento2#36471
pykettk
magento/magento2#36329
magento/magento2#36641
fredden
magento/magento2#36304
magento/magento2#36338
asim-blueprintprep
magento/magento2#36253
magento/magento2#36252
texboy
magento/magento2#36241
magento/magento2#36349 magento/magento2#29448
conveniente
magento/magento2#36224
magento/magento2#36334
fredden
magento/magento2#36187
magento/magento2#36554
serbynskyi
magento/magento2#36036
magento/magento2#36337
dshevtsov
magento/magento2#35990
magento/magento2#36230 magento/magento2#36651
Bashev
magento/magento2#35986
magento/magento2#35899 magento/magento2#36055 magento/magento2#36312 Smile-SA/elasticsuite#2772 plumfusion/module-layered-navigation-fix-magento-2.4.5#1
lbajsarowicz
magento/magento2#35948
magento/magento2#36539
tkotosz
magento/magento2#35940
magento/magento2#36642
MeCapron
magento/magento2#35885
magento/magento2#36042
amenk
magento/magento2#35848
magento/magento2#35939
Viper9x
magento/magento2#35846
magento/magento2#36643
lalittmohan
magento/magento2#35818
magento/magento2#36644
vo1
magento/magento2#35817
magento/magento2#36645
sheepfy
magento/magento2#35816
magento/magento2#36593
bgorski
magento/magento2#35807
magento/magento2#35994
pykettk
magento/magento2#35738
magento/magento2#36646
mrtuvn
magento/magento2#35656
magento/magento2#36647
pykettk
magento/magento2#35631
magento/magento2#36648
pmzandbergen
magento/magento2#35572
magento/magento2#35579 Sorriso-SA/magento2-module-store-locator#134
osrecio
magento/magento2#35564
magento/magento2#35568
fredden
magento/magento2#35540
magento/magento2#35325 magento/magento2#35711
nicka101
magento/magento2#35524
magento/magento2#35719
nazarklovanych
magento/magento2#35441
magento/magento2#35558
pykettk
magento/magento2#35436
magento/magento2#35488
VladyslavSikailo
magento/magento2#35216
magento/magento2#35417
Sental
magento/magento2#35060
magento/magento2#32177
novakivskiy
magento/magento2#34992
magento/magento2#34991
erfanimani
magento/magento2#34232
magento/magento2#34246 magento/magento2#34247
fredden
magento/magento2#34186
magento/magento2#34321
conveniente
magento/magento2#34117
magento/magento2#36628
khoimm92
magento/magento2#34061
magento/magento2#35481
dudzio12
magento/magento2#33892
magento/magento2#33820
kassner
magento/magento2#33859
magento/magento2#34439
duxabilii
magento/magento2#33841
magento/magento2#35187
sergeynezbritskiy
magento/magento2#33803
magento/magento2#33802
reprodutora de peixe
magento/magento2#33742
magento/magento2#34524
SilinMykola
magento/magento2#32889
magento/magento2#35858
aligent-lturner
magento/magento2#31606
magento/magento2#31643 magento/magento2#31866
lbajsarowicz
magento/magento2#31360
magento/magento2#31443
lbajsarowicz
magento/magento2#31355
magento/magento2#31373 magento/magento2#32625
krzksz
magento/magento2#30647
magento/magento2#30672 magento/magento2#32985 magento/magento2#30613
Usik2203
magento/magento2#29417
magento/magento2#29418

Requisitos do sistema

Nossa pilha de tecnologia é construída em PHP e MySQL. Para obter mais informações, consulte Requisitos do Sistema.

Instruções de instalação e atualização

Você pode instalar o Adobe Commerce 2.4.6 usando o Composer.

recommendation-more-help
1d4eef6c-fef1-4e61-85eb-b58d7b9ac29f