Notas de versão do Adobe Commerce 2.4.3

O Adobe Commerce 2.4.3 apresenta aprimoramentos no desempenho e na segurança, além de melhorias significativas na plataforma. Os aprimoramentos de segurança incluem a expansão da cobertura do reCAPTCHA e a inclusão da limitação de taxa integrada. As dependências do Core Composer e de bibliotecas de terceiros foram atualizadas para as versões mais recentes compatíveis com o PHP 8.x.

Esta versão inclui mais de 370 novas correções para o código principal e 33 aprimoramentos de segurança. Todos os problemas conhecidos identificados nas notas de versão do Adobe Commerce 2.4.2 foram corrigidos nesta versão.

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.

Consulte as notas de versão do Adobe Commerce 2.4.2-p2 para obter informações sobre o Adobe Commerce 2.4.2-p2.

Outras informações sobre a versão

Embora o código para esses recursos esteja incluído nas versões trimestrais , 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.

Aplique MC-43048_set_rate_limits_2.4.3.patch para resolver o problema de limitação da taxa de API

Essa correção fornece uma solução para o problema em que as APIs da Web não podem processar solicitações que contenham mais de 20 itens em uma matriz. Esse problema afeta as implantações que executam o Magento Open Source 2.4.3, Adobe Commerce 2.4.3 ou 2.3.7-p1. A limitação de taxa integrada foi adicionada a essas versões para evitar ataques de DoS (negação de serviço) e o máximo padrão foi definido como 20. Este patch reverte o limite padrão para um valor maior. Se você suspeitar que seu armazenamento está enfrentando um ataque de DoS, a Adobe recomenda reduzir os limites de entrada padrão para um valor menor para restringir o número de recursos que podem ser solicitados. Consulte o artigo da Base de Dados de Conhecimento Web API incapaz de processar solicitações com mais de 20 itens na matriz.

Aplique AC-384_Fix_Incompatible_PHP_Method__2.4.3_ce.patch para resolver o erro fatal do PHP na atualização

O seguinte erro fatal pode ocorrer durante a atualização para o Adobe Commerce 2.4.3:

PHP Fatal error: Uncaught Error: Call to undefined function Magento\Framework\Filesystem\Directory\str_contains() in [...]/magento/vendor/magento/framework/Filesystem/Directory/DenyListPathValidator.php:74

Este erro resulta do uso da função str_contains, que é uma função PHP 8.x. O Adobe Commerce 2.4.3 não suporta o PHP 8.x. Esta correção substitui esta função por uma função suportada no PHP 7.x. Consulte o artigo da Base de Dados de Conhecimento Adobe Commerce upgrade 2.4.3, 2.3.7-p1 PHP Fatal error Hotfix.

Aplique o AC-3022.patch para continuar oferecendo a DHL como transportadora

A DHL apresentou o schema versão 6.2 e descontinuará o schema versão 6.0 em breve. Adobe Commerce 2.4.4 e versões anteriores que suportam a integração DHL suportam apenas a versão 6.0. Os comerciantes que implantarem essas versões devem aplicar o AC-3022.patch o mais rápido possível para continuarem oferecendo a DHL como transportadora. Consulte o artigo da Base de conhecimento Aplicar um patch para continuar oferecendo a DHL como transportadora para obter informações sobre como baixar e instalar o patch.

Destaques

Procure os seguintes destaques nesta versão.

Aprimoramentos substanciais de segurança

Esta versão inclui 33 correções de segurança e melhorias de segurança na plataforma. Muitas dessas correções de segurança tiveram suporte para 2.4.2-p2 e 2.3.7-p1.

33 aprimoramentos de segurança que ajudam a fechar as vulnerabilidades de RCE (Remote Code Execution, execução remota de código) e XSS (Cross-Site Scripting, script entre sites)

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, lembramos você de tomar todas as medidas necessárias para proteger seu Administrador, incluindo, mas não limitado a, esses esforços: incluir na lista de permissões de IP, autenticação de dois fatores, uso de uma VPN, uso de um local exclusivo em vez de /admin e boa higiene de senha. Consulte o Boletim de Segurança de Adobe para ver uma discussão 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:

  • Um novo plug-in do Composer ajuda a evitar confusão de dependência e identifica pacotes mal-intencionados com os mesmos nomes que os pacotes internos no repositório de pacotes públicos. Consulte a publicação do blog Adobe Releases New Composer Plugin with 2.4.3 Release.

  • A limitação de taxa agora está incorporada às APIs para impedir ataques de negação de serviço (DoS). Agora, as APIs da Web impõem restrições sobre o tamanho ou o número de recursos (o máximo padrão é definido como 20 e pode ser configurado para um valor diferente com base na necessidade comercial) que podem ser solicitados por um cliente. Consulte Limitação de taxa para obter informações sobre como configurar essas restrições.

  • A cobertura do ReCAPTCHA foi estendida para incluir:

    • As APIs da Web que têm páginas HTML correspondentes são cobertas pelo ReCAPTCHA. (Isso exclui APIs da Web que são acessadas por integrações.) A cobertura do ReCAPTCHA protege os endpoints contra ataques de spam. Quando as APIs da Web são acessadas por um serviço de integração de terceiros que usa OAuth, o ReCAPTCHA é desabilitado.

    • A página da loja Fazer pedido e as APIs da Web relacionadas a pagamento. A proteção do ReCAPTCHA para essas páginas está desativada por padrão e pode ser ativada no Admin. Essa cobertura adiciona um mecanismo de força anti-brutalidade para proteger as lojas contra ataques de cartas.

NOTE
A partir da versão 2.3.2, atribuiremos e publicaremos números indexados de vulnerabilidades e exposições comuns (CVE) com cada erro de segurança relatado a nós por terceiros. Isso permite que os usuários identifiquem mais facilmente vulnerabilidades não solucionadas na implantação. Você pode saber mais sobre os identificadores CVE em CVE.

Melhorias na infraestrutura

Esta versão inclui aprimoramentos que melhoram a qualidade da estrutura e as seguintes áreas funcionais:

  • Conta do cliente

  • Catálogo

  • CMS

  • OMS

  • Importar/Exportar

  • Promoções e direcionamento

  • Carrinho e check-out

  • B2B

  • Preparo e Pré-visualização

PayPal PayPal Mais Tarde agora é suportado em implantações que incluem PayPal. Esse recurso permite que os compradores paguem um pedido em prestações quinzenais em vez de pagar o valor total no momento da compra.

Novo use_application_lock modo de indexação. O modo use_application_lock permite habilitar a reindexação usando variáveis de ambiente ou configurando o arquivo app/etc/env.php. Não é mais necessário redefinir manualmente o indexador após uma falha com esse modo ativado. Consulte Usando o modo de bloqueio do aplicativo para processos de reindexação.

Aprimoramentos na plataforma

A versão 2.4.3 ainda não é compatível com o PHP 8.x, mas as atualizações de plataforma a seguir nos trazem uma compatibilidade futura com o PHP 8.x.

  • As dependências do Core Composer e bibliotecas de terceiros foram atualizadas para as versões mais recentes compatíveis com o PHP 8.x.

  • A biblioteca KnockoutJS foi atualizada para v3.5.1 (a versão mais recente).

  • A biblioteca TinyMCE v3 obsoleta foi removida. O módulo Magento_Tinymce3Banner e os testes MFTF relacionados ao TinyMCE v3.x foram removidos do Adobe Commerce.

  • A versão 2.4.3 foi testada e confirmada como compatível com o Redis 6.0.12. (a versão 2.4.x permanece compatível com o Redis 5.x.)

  • As dependências da biblioteca Laminas foram atualizadas para versões compatíveis com o PHP 8.x. Algumas dependências redundantes foram removidas do arquivo composer.json. O Adobe Commerce 2.4.3 usa o Laminas 3.4.0.

Aprimoramentos de desempenho

Esta versão inclui aprimoramentos que diminuem o tempo de indexação dos indexadores de Preço do produto e Regra de catálogo. Os comerciantes agora podem excluir um site de um grupo de clientes ou catálogo compartilhado, o que reduz o número de registros para indexação e melhora os tempos de indexação.

O Live Search da Adobe Sensei oferece uma experiência de pesquisa intuitiva, usando inteligência artificial e algoritmos de aprendizado de máquina para executar uma análise detalhada de dados de visitante agregados. Consulte as Notas de Versão do Live Search.

GraphQL

Esta versão inclui o suporte à GraphQL para os seguintes recursos:

Consulte o Guia do Desenvolvedor do GraphQL para obter detalhes sobre esses aprimoramentos.

B2B

A versão 2.4.3 apresenta o B2B v1.3.2. Esta versão inclui várias correções de erros. Consulte Notas de versão B2B.

Page Builder

O Page Builder agora está disponível como uma extensão agrupada no Magento Open Source. Agora, ela é a ferramenta de edição de conteúdo padrão para o Adobe Commerce 2.4.3 e Magento Open Source 2.4.3. Ele pode substituir o editor WYSIWG por qualquer módulo de terceiros.

O Page Builder substitui o editor TinyMCE nas seguintes áreas de administração:

  • Página CMS
  • Bloco CMS
  • Descrição da categoria
  • Descrição do produto

Todo o conteúdo criado no TinyMCE foi migrado para o Page Builder como HTML.

PWA Studio

Para obter informações sobre aprimoramentos e correções de erros, consulte versões de PWA Studio. Consulte compatibilidade para obter uma lista de versões do PWA Studio e suas versões compatíveis.

Ferramenta de compatibilidade de atualização

O escopo da Ferramenta de Compatibilidade de Atualização foi expandido com base no feedback da comunidade. Junte-se ao nosso canal de Slack #upgrade-compatibility-tool para obter suporte da equipe de produtos do Adobe e da comunidade, bem como para ajudar a orientar a direção futura da ferramenta.

Atualizações de serviços gerenciados na nuvem

Esta versão inclui aprimoramentos em nosso suporte para o Amazon Simple Storage Service (AWS S3) e serviços gerenciados em nuvem Amazon Aurora. Ele fornece suporte certificado para AWS ElastiCache, AWS Elasticsearch e AWS Managed Queues (Rabbit MQ). (Testamos a funcionalidade, o desempenho e a integração desses serviços com o Adobe Commerce.)

Integração do Adobe Stock

Esta versão inclui a Integração do Adobe Stock v2.1.1.

Extensões desenvolvidas pelo fornecedor

Consulte os seguintes tópicos para obter atualizações sobre recursos e alterações desta versão:

Problemas corrigidos

Corrigimos centenas de problemas no código principal 2.4.3.

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

  • O comando bin/magento setup:db:status agora retorna uma mensagem indicando que tudo está atualizado após uma atualização bem-sucedida. Anteriormente, o aplicativo exibia este erro: Declarative Schema is not up to date.
  • Os valores de configuração agora são preservados no recarregamento de formulário quando a criação de um novo produto configurável falha. Anteriormente, os valores eram perdidos durante o recarregamento do formulário e o aplicativo exibia este erro: The value specified in the URL Key field would generate a URL that already exists. GitHub-32102
  • O aplicativo não lança mais uma exceção quando você executa bin/magento setup:upgrade para atualizar de uma implantação de Magento Open Source com Redis para Adobe Commerce.
  • As regras de preço do carrinho criadas anteriormente agora são exibidas na página do painel Preparo de conteúdo depois que uma implantação é atualizada do Magento Open Source para o Adobe Commerce.
  • As implantações executadas no Cluster Galera agora oferecem suporte a mais clientes. GitHub-31038
  • Agora os administradores podem fazer logon em uma implantação quando o aplicativo tiver sido instalado com a opção —use-rewrites=0 ou com web/seo/use_rewrites definido como 0 em core_config_data_table. GitHub-32100
  • Carregamento sortOrder atualizado para AsyncCssPlugin. O aplicativo agora carrega AsyncCssPlugin antes de JsFooterPlugin. GitHub-30882
  • Magento\Config\Model\Config\PathValidator agora verifica o caminho de exibição para determinar se um elemento existe e, se ele tiver um caminho de configuração, usa o caminho config.xml para validação. GitHub-27678
  • A compilação de menos arquivos com o Grunt ou por compilação do lado do servidor agora produz os mesmos resultados. Anteriormente. .abs- styles, que estende outros .abs- styles em _extends.less, não foram enviados corretamente quando compilados com Grunt. Isso resultou em diferenças entre implantações de produção e desenvolvimento. GitHub-7231

AdminGWS

  • O Admin GWS agora usa valores int para a condição SQL website_id em coleções de administradores para administradores com permissões personalizadas.

Integração do Adobe Stock

  • O aplicativo agora exibe uma mensagem informativa e um link para a página Admin Lojas > Configuração > Avançado > Sistema na página Procurar Adobe Stock quando a Chave da API (ID do Cliente) e o Segredo do Cliente não estão definidos. Anteriormente, o aplicativo exibia este erro: We couldn't find any records e nenhum link.

Infraestrutura

  • Os administradores com acesso restrito (por exemplo, aos quais é atribuído acesso somente a um site) não podem mais editar categorias definidas para o escopo Global.
  • O relatório do Sistema gerado (Sistema > Suporte > Relatório do Sistema) agora está renderizado corretamente. Anteriormente, o conteúdo do relatório estava desalinhado.
  • O aplicativo agora desativa a validação no campo Preço, conforme esperado, quando a configuração Preço dinâmico é habilitada durante a criação do pacote de produtos. Anteriormente, o aplicativo exibia um erro de validação quando você removia um valor do campo Preço quando a configuração Preço dinâmico era habilitada. GitHub-26214
  • Redirecionamentos infinitos não ocorrem mais quando o URL do administrador difere do URL do site padrão em implantações em que o aplicativo é configurado para ser acessível a partir de dois URLs.

Produtos do pacote

  • Agora você pode usar a mutação addProductsToCart para adicionar um produto de pacote com mais de uma opção de caixa de seleção ao carrinho.
  • A indexação de preços de produtos de pacote agora é executada usando tabelas temporárias, o que evita o bloqueio de tabelas de banco de dados. Anteriormente, o aplicativo usava tabelas físicas, o que resultava em tabelas bloqueadas.
  • O preço de um item de pacote agora pode ser definido como 0,00. Anteriormente, ao retornar à página de edição após definir o preço como 0,00, o preço retornava ao valor padrão. GitHub-32383
  • Os detalhes do pedido para pedidos que contêm produtos de pacote agora mostram o preço correto para os produtos de pacote se o preço foi alterado antes do pedido ser feito.
  • O status do estoque de produtos do pacote agora é atualizado com base no status do estoque de seus produtos secundários. Anteriormente, os produtos de pacote eram mostrados como indisponíveis quando uma opção era removida do produto, e o produto de pacote tinha duas opções com o mesmo SKU.
  • Um administrador agora pode alterar o valor do atributo Shipment Type de um produto agrupado depois que ele for movido para um grupo de atributos diferente. Anteriormente, esse atributo sempre era salvo com um valor Together se fosse movido para um grupo de atributos diferente do padrão no conjunto de atributos.
  • A mutação setGuestEmailOnCart do GraphQL agora atualiza corretamente o email do convidado. Anteriormente, as tabelas de cotações e endereços de cotações não eram atualizadas.
  • Adicionar, remover ou atualizar um produto filho em um produto combinado por meio de chamadas de API REST agora aciona a reindexação, conforme esperado. Anteriormente, essas ações não acionavam a reindexação e, como resultado, o produto do pacote não alterava seu status de estoque até que a reindexação manual fosse executada.
  • O aplicativo agora exibe a faixa de preços correta para produtos de pacote com preços de nível. GitHub-30284
  • O aplicativo agora exibe o mesmo preço total que o esperado na página do carrinho de compras e na etapa de envio do fluxo de trabalho de check-out após a alteração do preço de uma opção de pacote.
  • Agora é possível configurar um produto agrupado com êxito acessando-o de um carrinho de compras do cliente. Anteriormente, a página Configurar produto nunca era completamente carregada e você não podia salvar suas configurações.
  • Os comerciantes agora podem atribuir um preço exclusivo para um produto combinado em cada exibição de loja de uma implantação de várias lojas. Os preços específicos do site são salvos na tabela catalog_product_bundle_selection_price. Anteriormente, o aplicativo não baseava o preço de um produto de pacote no escopo do site, mesmo quando Lojas > Configuração > Catálogo > Catálogo > Preço > Escopo do Preço de Catálogo estava definido como Website. Nenhum preço específico de site foi salvo em catalog_product_bundle_selection_price. GitHub-12584
  • As faturas de produtos agrupados agora exibem a quantidade correta dos produtos simples associados quando a Precificação Dinâmica está desabilitada. Anteriormente, os produtos simples associados ao produto do pacote tinham a quantidade do produto principal, não o produto do pacote). GitHub-30802
  • A mutação updateProductsInWishlist atualiza com êxito os itens que pertencem a um produto de pacote em uma lista de desejos. Anteriormente, em vez de atualizar o item da lista de desejos, essa mutação excluiu o item e criou um novo, que alterou a ID do item.
  • Agora você pode definir os atributos de pacote required_options e has_options conforme esperado ao criar ou atualizar um produto de pacote usando o ponto de extremidade POST /V1/product/:sku. Anteriormente, esses atributos personalizados eram definidos como 0 (zero), apesar dos esforços para defini-los como 1 (um).
  • Os dados de produto do pacote que estavam ausentes anteriormente agora são incluídos no processo de preparo. Isso soluciona inconsistências no comportamento do produto quando os compradores compram um produto empacotado da página de listagem de produtos em vez de adicioná-lo diretamente de uma página de produto.

Cache

  • O arquivo varnish6.vcl foi atualizado para ignorar o armazenamento em cache da página do cliente.

CAPTCHA

  • Agora, o CAPTCHA valida corretamente os dados fornecidos por um comprador, e os campos CAPTCHA agora são exibidos como esperado após as várias tentativas malsucedidas de um comprador para fazer check-out com o PayPal Payflow Pro.
  • A validação do CAPTCHA não falha mais aleatoriamente na página de pagamento do fluxo de trabalho de finalização.
  • O aplicativo agora exibe campos CAPTCHA como esperado depois que você excede o número de tentativas de conclusão com falha. Anteriormente, embora o aplicativo tenha solicitado que você tentasse o desafio CAPTCHA novamente, ele não exibia os campos CAPTCHA.
  • O CAPTCHA agora funciona conforme esperado na página de finalização. Anteriormente, depois que um comprador respondia corretamente a um desafio de CAPTCHA, o carregador na página de check-out nunca era concluído e o aplicativo exibia este erro: captchaData[formId] is undefined. (Esse erro ocorria somente quando o comprador usava o mesmo navegador do qual acessava anteriormente uma implantação que executava o 2.3.5-p1.)
  • _.isEmpty() verificações no arquivo defaultCaptcha.js foram concluídas com êxito. Anteriormente, essas verificações não eram concluídas e, como resultado, a página de check-out não era carregada após a atualização. GitHub-31641

Carrinho e check-out

  • O aplicativo agora leva em conta os localizadores decimais específicos da localidade ao converter e atualizar a quantidade do produto no carrinho.
  • Os pedidos não omitem mais um nome de cliente fornecido com um endereço de entrega. Anteriormente, os nomes eram omitidos porque o sinalizador same_as_billing não foi salvo no banco de dados.
  • Os links para registros de presentes agora persistem conforme esperado ao editar um produto no carrinho de compras. Anteriormente, esses links desapareciam ao clicar no botão Atualizar carrinho.
  • Todas as mensagens da fila para o consumidor quoteItemCleaner agora mudam seu status para complete, conforme esperado após a exclusão de vários produtos. Anteriormente, apenas uma mensagem para este consumidor alterava seu status para complete, e o restante alterava o status para in progress.
  • O aplicativo agora exibe a mensagem de validação dos Termos e Condições no bloco relevante somente quando um comprador clica no botão Fazer pedido. Anteriormente, o aplicativo exibia esta mensagem no bloco Aplicar Código de Desconto sempre que um comprador alterava o método de pagamento no fluxo de trabalho de check-out: The order wasn't placed. First, agree to the terms and conditions, then try placing your order again.
  • Agora você é redirecionado para a página de check-out conforme esperado depois de adicionar um produto incluído ao carrinho por meio de uma visualização de Atualização da programação e clicar no carrinho. GitHub-447
  • O aplicativo agora descarta as alterações no formulário de endereço de cobrança na etapa de pagamento do check-out se o comprador não clicar no botão Atualizar e retornar à etapa de envio.
  • O aplicativo agora exibe uma mensagem de erro informativa e não atualiza a quantidade do produto quando um comprador adiciona uma quantidade de produto inválida e clica no botão Atualizar itens e quantidades na página Gerenciar carrinho de compras. Anteriormente, o aplicativo atualizava a quantidade do produto e não exibia uma mensagem de erro. GitHub-459
  • Os produtos com uma opção personalizável (File) agora incluem links ativos conforme esperado durante todo o processo de finalização de várias remessas. Anteriormente, esse link estava ausente. GitHub-31095
  • O carrinho de compras de Administrador agora exibe os preços do produto nas moedas corretas das lojas que oferecem suporte a várias moedas. Anteriormente, os preços eram convertidos para a moeda especificada mais de uma vez — primeiro, quando os produtos eram adicionados ao carrinho pela loja e depois novamente quando o pedido era renderizado posteriormente no Administrador.
  • O aplicativo agora esvazia o carrinho de compras conforme esperado depois que um administrador conclui um pedido do administrador que foi criado por um comprador na loja. Anteriormente, quando o cliente fazia logon novamente depois que o administrador concluísse o pedido, o carrinho da loja ainda continha o conteúdo do pedido. GitHub-30262
  • Os compradores agora podem adicionar um produto ao carrinho cujo preço mínimo anunciado (MAP) excede o preço normal do produto.
  • Os compradores agora podem alterar com êxito seu endereço de cobrança do fluxo de trabalho de check-out ao fazer check-out com vários endereços.
  • Todas as transações de pagamento pagas criadas por convidados agora são salvas no banco de dados e ficam visíveis no Administrador conforme esperado. Anteriormente, apenas um pequeno subconjunto de pedidos simultâneos era salvo no banco de dados e a maioria dos pedidos era perdida devido a tempos limite resultantes de bloqueios do banco de dados. GitHub-25862
  • O aplicativo agora exibe corretamente mensagens de boas-vindas em linha que contêm caracteres especiais quando um convidado coloca um produto no minicarrinho. Anteriormente, o aplicativo não adicionava o produto ao minicarrinho nem exibia a mensagem de boas-vindas. GitHub-32250
  • A página de remessa do fluxo de trabalho de check-out agora é carregada com êxito quando o delivery na loja está ativado. Anteriormente, o aplicativo exibia um erro de JavaScript e a página de check-out de envio não era renderizada completamente.
  • Adição do argumento itemResolvers ao arquivo de catálogo di.xml. Como resultado, o check-out não será mais interrompido se os módulos de produto configuráveis e agrupados estiverem desativados. GitHub-30860
  • O aplicativo agora exibe os botões de opção na seção Informações de Pagamento e Envio, conforme esperado durante o fluxo de trabalho de reordenação do Administrador. GitHub-30257
  • O aplicativo agora aplica corretamente as regras de preço do carrinho com um desconto fixo no nível do carrinho quando o carrinho contém um produto incluído com várias opções. Anteriormente, a regra de preço do carrinho não era completamente aplicada ao pedido. GitHub-30952
  • O botão Adicionar ao carrinho na exibição de lista de categorias agora funciona conforme esperado. GitHub-32232
  • Agora você pode usar o POST /V1/carts/mine/items para adicionar uma quantidade personalizada de produtos agrupados a um carrinho. GitHub-26909
  • O aplicativo não preenche mais a área do endereço de cobrança do fluxo de trabalho de finalização com o endereço de entrega. Anteriormente, quando o campo Estado/Província do endereço de cobrança estava vazio e os endereços de remessa e cobrança eram diferentes, o aplicativo preenchia o campo endereço de cobrança Estado/Província com informações do endereço de remessa. GitHub-31608
  • A atualização em massa dos atributos Habilitar incrementos de quantidade e incrementos de quantidade agora funciona conforme esperado. GitHub-29544
  • Agora você pode duplicar com êxito um catálogo compartilhado que contém SKUs somente numéricas. Anteriormente, o aplicativo exibia um erro quando você tentava duplicar um catálogo compartilhado porque a classe \Magento\Catalog\Model\ProductIdLocator não funcionava corretamente com SKUs somente numéricas.
  • O aplicativo não lança mais um erro do JavaScript depois que você habilita a sincronização de produtos recentes com o administrador. Anteriormente, o aplicativo exibia este erro do JavaScript: Cannot read property 'status' of undefined.
  • As atualizações do layout de tema personalizado agora são aplicadas conforme esperado. Anteriormente, as atualizações do layout de tema personalizado eram ignoradas.
  • O cache de categorias do produto agora é limpo como esperado por cron durante a execução de indexer_update_all_views. Anteriormente, as contagens de produtos na página Categoria após a reindexação estavam incorretas.
  • Os valores de atributo agora permanecem inalterados quando um atributo não é especificado em uma solicitação da API REST de atualização de produto para uma exibição de loja. Anteriormente, se um atributo não fosse especificado, o aplicativo redefinia o valor do atributo para seu valor de escopo padrão.
  • A grade de produtos do Administrador (Admin Catálogo > Produtos) agora exibe a contagem de produtos correta quando os produtos são filtrados pela SKU.
  • O aplicativo agora exibe o status preciso do estoque quando um produto é adicionado a uma página do CMS quando as Permissões de categoria são ativadas e impede a exibição do preço para o grupo do cliente especificado. Anteriormente, todos os produtos eram mostrados como indisponíveis, independentemente do status real do estoque.
  • O campo de entrada de preço de bloco de preço do Grupo de Clientes do Advanced Pricing agora tem uma largura mínima de cinco dígitos. Anteriormente, apenas dois símbolos estavam visíveis nesse campo em exibições de baixa resolução.
  • O aplicativo agora exclui com êxito uma imagem de mídia do produto após excluir um produto. Anteriormente, a imagem de mídia do produto permanecia na pasta após a exclusão bem-sucedida do produto.
  • O layout da página agora é atualizado conforme esperado quando você cria ou edita um produto no Administrador e, em seguida, cria uma Atualização de design de cronograma. GitHub-32007
  • Um atributo de produto personalizado com valor zero agora pode ser salvo com êxito como em branco. Anteriormente, o aplicativo não atualizava esse valor para em branco.
  • Os arquivos de atualização de layout de categoria personalizada agora se aplicam aos produtos conforme esperado. Anteriormente, o identificador de arquivo de atualização (catalog_category_view_*) não correspondia ao identificador de produto. GitHub-27285
  • A classificação foi desabilitada para a coluna Imposto Fixo do Produto (FPT) da lista de produtos do Administrador. Anteriormente, a página Produtos não podia ser recarregada após a coluna FPT ter sido classificada.
  • A visualização do widget Produtos do Page Builder agora funciona conforme esperado em uma implantação de vários sites quando os produtos correspondentes têm um preço diferente em cada site.
  • A classificação por posição na pesquisa de produtos usando o GET /rest/V1/products/?searchCriteria[filterGroups] agora funciona conforme esperado. Anteriormente, a coleção de produtos não tinha um valor de campo position para classificação. GitHub-31591
  • Os usuários administradores agora podem ver espaços duplos nos campos Nome e SKU na grade de produtos. Anteriormente, o aplicativo recolhia vários espaços em um único espaço.
  • Agora os produtos são exibidos como indisponíveis na loja quando a quantidade comercializável no Administrador é 0. Anteriormente, esses produtos eram listados como em estoque na loja, e o aplicativo exibia um botão Adicionar ao carrinho ativo. GitHub-31117
  • Os administradores agora podem adicionar produtos com opções personalizáveis (File) à grade Itens solicitados na seção Carrinho de compras (coluna Atividades do cliente) da página Cliente administrador. Anteriormente, o aplicativo não adicionava o item à lista porque o valor não estava formatado corretamente antes de ser inserido em \Magento\Catalog\Model\Product\Type\AbstractType::_prepareOptions.
  • O aplicativo não solicita mais que os compradores selecionem uma opção de produto para um produto empacotado que tenha apenas uma opção.
  • O aplicativo agora exibe todas as subcategorias em atualizações de layout (categorias âncora e não âncora) durante a criação de um novo widget.
  • A consulta product não substitui mais os valores padrão de todas as exibições de loja em uma implantação de várias lojas quando um nome de produto é atualizado apenas para uma exibição de loja. GitHub-31083
  • O Adobe Commerce atualiza a contagem total de páginas conforme esperado ao alterar o valor por página da lista Produtos relacionados ao administrador, Vendas adicionais e Vendas cruzadas. GitHub-31059
  • Agora os administradores podem adicionar produtos com duas ou mais opções personalizáveis (File) a um pedido por SKU.
  • O aplicativo não lança mais um erro quando um administrador com permissões restritas adiciona um widget de Produto a uma página do CMS no Administrador. Anteriormente, o aplicativo exibia este erro quando o administrador clicava no botão Salvar: We are sorry, an error has occurred while generating the content.
  • As páginas de detalhes do produto agora abrem com a opção de data personalizável preenchida com a data do pedido anterior quando o Usar calendário do JavaScript está habilitado. O resolvedor de valor de opção de data personalizada agora retorna a um formato alternativo se o valor não for formatado com base na configuração atual. Anteriormente, o valor da opção de data personalizada estava vazio.
  • O aplicativo agora exibe apenas um erro no carrinho quando o produto está indisponível. Anteriormente, o aplicativo exibia mensagens redundantes. GitHub-27469
  • Os administradores agora podem adicionar um produto com uma opção personalizável (File) a um pedido por SKU. GitHub-30285
  • Agora você pode salvar um produto e um preço sem especificar type_id. GitHub-13639
  • Os produtos de grupo agora estão disponíveis na loja conforme esperado quando uma solicitação REST PUT /V1/products/:sku/links é usada para associar um novo produto filho a um novo produto de grupo. Anteriormente, os produtos não eram indexados corretamente após a execução de bin/magento cron:run.
  • Você não pode mais criar um produto com um valor de SKU NULL. Anteriormente, era possível criar um produto sem um valor de SKU por meio de um importador personalizado ou diretamente no banco de dados, mas quando você tentava editá-lo no Admin, o aplicativo exibia um erro. GitHub-27411, GitHub-32525
  • Adicionar as opções personalizadas necessárias a um produto simples não o remove dos produtos compostos principais sem aviso prévio. O aplicativo agora exibe um aviso informativo e não salva o produto. Anteriormente, o aplicativo salvava as alterações no produto e não exibia nenhum aviso. GitHub-30492
  • A consulta products agora retorna os valores atuais quando uma regra de preço de catálogo se aplica a um item. GitHub-26738
  • As tabelas temporárias que começam com catalogrule_product__temp agora são excluídas como esperado quando a reindexação falha após uma regra de carrinho ou catálogo expirar, estar desabilitada ou se tornar inativa. GitHub-22273
  • Os fusos horários agora são aplicados da mesma forma em \Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexById e \Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexByIds. GitHub-29549

Conteúdo do CMS

  • Imagens grandes agora são redimensionadas conforme esperado durante o carregamento quando a configuração Habilitar Redimensionamento de Front-end está habilitada.
  • Correção do tratamento de erros para o controlador de salvamento de página CMS. Anteriormente, quando um objeto Error era lançado no evento cms_page_prepare_save, o aplicativo passava esse objeto para a função addExceptionMessage, interrompendo seu contrato porque essa função esperava um Exception. Isso foi resolvido adicionando uma mensagem de erro usando a função addErrorMessage. GitHub-30149
  • Agora é possível atribuir uma nova página a vários nós a partir da guia CMS Edit page Hierarchy. Anteriormente, uma violação de restrição exclusiva ocorria ao tentar atribuir a página a um nó. GitHub-363

Produtos configuráveis

  • O aplicativo não duplica mais as miniaturas de produtos na galeria de imagens de um produto ao clicar nas opções configuráveis de um produto.
  • O pop-up de configuração que o aplicativo exibe ao editar um produto configurável de uma lista de desejos agora é fechado conforme esperado quando você clica no botão OK.
  • O aplicativo agora gera faturas corretamente para pedidos que contêm apenas um produto configurável. GitHub-31143
  • Os compradores agora podem adicionar produtos configuráveis ao carrinho a partir de uma visualização de loja não padrão. Anteriormente, quando o comprador em um modo de exibição de loja não padrão tentava adicionar um produto configurável, o aplicativo exibia este erro: Could not add item to cart. Please check required options and try again. GitHub-31660

Política de segurança de conteúdo (CSP)

  • A Política de Segurança de Conteúdo agora oferece suporte ao carregamento de imagens e fontes codificadas em base64 por meio de data: scheme.

cron

  • As consultas de limpeza do Cron foram refatoradas para reduzir ou eliminar os seguintes problemas de desempenho: cron trabalhos permanecem travados em um estado pendente, consultas MySQL cada vez mais lentas e um aumento no uso da CPU. GitHub-26507
  • cronjobs com o status running há mais de 24 horas agora são automaticamente alteradas para o status error. Como resultado, uma nova instância desse trabalho pode ser executada novamente e você não precisa alterar manualmente o status do trabalho quando um trabalho permanecer incorretamente definido para o status running. Anteriormente, se um cronjob estivesse preso no status running, o aplicativo impedia que novas instâncias do mesmo trabalho fossem iniciadas e você tinha que alterar manualmente o status do trabalho. GitHub-8933
  • cron trabalhos foram concluídos como esperado e não geram mais este erro de serialização: [Magento\Framework\DB\Adapter\DeadlockException]SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction, query was: DELETE FROM cron_schedule WHERE (status = 'missed') AND (job_code in ('indexer_reindex_all_invalid', 'indexer_update_all_views', 'indexer_clean_all_changelogs')) AND (created_at < '2018-09-28 18:32:28'). GitHub-18409
  • indexer_update_all_views trabalhos cron agora são executados como esperado após uma falha anterior. A execução com falha é marcada como uma falha no cron_schedule schedule, e a execução subsequente não falha automaticamente. Anteriormente, a tabela cron_schedule era preenchida com trabalhos pendentes e o trabalho indexer_update_all_views cron não era executado. GitHub-23054
  • cron bloqueios não ocorrem mais como resultado de cron tentar definir um bloqueio em grandes implantações onde grupos se sobrepuseram. GitHub-8933
  • cron bloqueios não ocorrem mais na tabela cron_schedule após apenas alguns trabalhos cron serem executados. GitHub-22438

Atributos personalizados do cliente

  • O campo Estado no catálogo de endereços da Conta do cliente da loja agora é carregado como e permanece um elemento de página suspensa. O botão Enviar agora estará desabilitado até que todos os elementos da página tenham sido carregados completamente. Anteriormente, o aplicativo carregava esse campo como uma caixa de texto antes de renderizá-lo como um elemento suspenso, e os compradores podiam inserir e salvar valores no campo de texto, o que causou um erro posteriormente durante o check-out.
  • O aplicativo agora exibe corretamente os atributos personalizados do endereço do cliente nas páginas de pedido da loja e do administrador. Anteriormente, a opção selecionada do atributo suspenso estava ausente na seção Informações de endereço, e o valor do atributo de entrada continha o código do atributo. GitHub-508
  • O aplicativo não emite mais um erro quando você salva um atributo de endereço do cliente com um anexo de arquivo no campo Endereço do cliente do administrador ao fazer upload de arquivos. Isso ocorreu devido a uma instrução de retorno ausente na ação do controlador. Anteriormente, o aplicativo exibia este erro: Something went wrong while saving the file.
  • GET As chamadas de API do carrinho de REST agora retornam valores de atributo personalizados corretos para endereços de faturamento e envio. Anteriormente, os atributos de endereço personalizados eram exibidos incorretamente na página de detalhes do pedido na página inicial da loja Minha conta e no Administrador.
  • O aplicativo agora manipula com êxito arquivos que contêm atributos de endereço de cliente com tipo de entrada file (attachment). Anteriormente, o aplicativo exibia este erro durante o carregamento do arquivo anexado: Something went wrong while saving the file.

Cliente

  • O email de crédito da loja agora leva em conta o escopo selecionado e é enviado do endereço de email correto.
  • A filtragem por data de criação da conta agora produz resultados que estão em conformidade com as configurações de fuso horário definidas e que capturam todas as contas criadas relevantes.
  • O filtro de grade do cliente agora usa uma opção de site correta para um usuário restrito se os dados tiverem sido armazenados em cache anteriormente. Anteriormente, o filtro de grade do cliente recuperava os parâmetros do site do cache e incluía dados incorretos para usuários restritos.
  • O aplicativo não lança mais uma exceção na página Clientes administradores quando um site é excluído em uma implantação de vários sites. Anteriormente, quando um administrador tentou acessar a lista abrangente de clientes, o aplicativo não exibia todos os clientes e exibia este erro: The website with id 2 that was requested wasn't found. Verify the website and try again.
  • Os administradores com permissão agora podem reatribuir clientes a sites diferentes a partir da guia Informações da conta do cliente.
  • Agora é possível carregar um arquivo com êxito ao criar um atributo de endereço do cliente com um tipo de entrada de (File). Anteriormente, quando você tentava carregar e salvar um arquivo, o aplicativo exibia este erro: Something went wrong while saving the file.

Segmento do cliente

  • O aplicativo agora exibe produtos relacionados com base em segmentos de clientes na loja, conforme esperado. Anteriormente, o aplicativo não exibia essa seção quando uma regra de produtos relacionados era criada para segmentos de clientes específicos.
  • Os blocos dinâmicos agora são exibidos para clientes registrados em seus carrinhos de compras quando o segmento de cliente correspondente é aplicado tanto para convidados quanto para clientes registrados. Anteriormente, o aplicativo exibia o bloco somente para convidados.
  • Os segmentos de clientes agora são atualizados automaticamente depois que um pedido é feito pelo administrador. Anteriormente, após criar um pedido de Administrador, o usuário Administrador tinha que atualizar manualmente os dados de segmento relacionados navegando até os segmentos de clientes relacionados e clicando no botão Atualizar dados de segmento.
  • O aplicativo agora exibe blocos dinâmicos no carrinho de compras para todos os clientes nos segmentos de clientes relevantes. Anteriormente, os convidados não viam um bloqueio mesmo quando o segmento do cliente incluía convidados e clientes registrados.
  • Problemas de desempenho do banco de dados que resultam de regras de segmentação do cliente usando a condição Product was Ordered foram resolvidos.
  • Um observador de eventos de segmento do cliente para a API REST/SOAP foi adicionado. Como resultado, os segmentos de clientes agora são atualizados automaticamente, conforme esperado, se os critérios definidos nos segmentos forem correspondidos quando os pedidos forem feitos por meio da API REST/SOAP.
  • Um processador de eventos de segmento do cliente foi adicionado para solicitações do GraphQL. Anteriormente, os descontos da regra de preço do carrinho não eram aplicados ao carrinho de compras quando um segmento de cliente era usado em uma condição de regra de preço do carrinho. GitHub-371

Diretório

  • O aplicativo não lança mais uma exceção quando um comprador insere um CEP inválido durante a seção de envio do fluxo de trabalho de finalização. GitHub-23371

Baixável

  • O aplicativo agora exibe links para produtos baixáveis no email Novo pedido quando o pedido contém um produto baixável e um produto configurável com uma opção baixável. Anteriormente, o aplicativo exibia o link para o produto baixável independente, mas não o link para o produto configurável com uma opção baixável.

Bloco dinâmico (antigo banner)

  • Os blocos dinâmicos agora são exibidos somente na página especificada. Anteriormente, o aplicativo exibia todos os banners atribuídos ao widget em todas as páginas se nenhum bloco dinâmico fosse especificado.
  • Agora é possível salvar blocos dinâmicos com conteúdo vazio.

EAV

  • Os valores de data do atributo de endereço do cliente agora são salvos no formato de quatro dígitos, em vez do formato de dois dígitos.

Email

  • O link de redefinição de senha na página Redefinição de senha do administrador agora funciona conforme esperado. Anteriormente, quando um modelo personalizado era usado para a página de redefinição de senha de administrador, o aplicativo exibia esta mensagem quando um administrador clicava no link dentro do email: Your password reset link has expired. Isso ocorria porque o modelo de email personalizado continha a variável incorreta para a ID do usuário.
  • Agora o envio de emails do cliente pelo Administrador funciona corretamente quando ativado no nível da visualização da loja. Anteriormente, o aplicativo não enviava emails de clientes quando as configurações de notificação por email eram ativadas no nível da visualização da loja, mas não no nível global.
  • O aplicativo agora envia email conforme esperado em implantações de vários sites, em que nem todos os sites permitiram o envio assíncrono de email. Anteriormente, se pelo menos um site tivesse essa configuração desativada, o email não era enviado de nenhum site, mesmo quando ativado. Emails de NFF, Entrega e Aviso de Crédito tinham problemas semelhantes. No entanto, os e-mails Comentários da Ordem, Comentários da NFF, Comentários da Entrega e Comentários do Aviso de Crédito foram enviados com êxito. GitHub-31950
  • A mensagem de email que o aplicativo envia quando você compartilha um registro de presente do Administrador agora contém um link válido para o local do registro. Anteriormente, esse link resultava em um erro 404. GitHub-504
  • As faturas e os PDF de faturas agora incluem os mesmos preços de pacotes de produtos que o esperado. Anteriormente, os PDF de fatura incluíam o preço incorreto para produtos de pacote. GitHub-12856
  • A conversão de cadeia de caracteres foi adicionada ao método de filtro de modelo de email para garantir que o valor de retorno seja um string. Anteriormente, quando uma exceção era capturada enquanto não estava no modo de desenvolvedor, o aplicativo retornava um objeto phrase. Isso por sua vez disparou um fatal Uncaught TypeError. GitHub-32671
  • Os emails de confirmação de pedido agora são enviados conforme esperado quando o envio assíncrono está habilitado (Lojas > Configuração > Vendas > Emails de Vendas > Configurações Gerais > Envio assíncrono) em um site em uma implantação multissite. GitHub-31950
  • O aplicativo agora registra um erro como esperado quando ocorre uma exceção quando um cliente tenta enviar um email do formulário Fale conosco. GitHub-23645

Estruturas

  • Agora, as classes pai no Administrador são verificadas em busca de anotação de docblock, juntamente com a classe original e interfaces herdadas. Anteriormente, como as classes principais não eram verificadas, executar ações relacionadas ao cliente no Administrador que acionavam um evento resultava em um erro. O aplicativo registrou este erro no log de exceções: report.CRITICAL: Method's return type must be specified using @return annotation..
  • O aplicativo não lança mais um erro fatal quando o servidor Redis é interrompido em uma implantação na qual o cache de página Redis está habilitado.
  • O aplicativo agora respeita a configuração Excluir pasta de mídia do backup quando o backup é habilitado com bin/magento config:set system/backup/functionality_enabled 1. Anteriormente, apesar dessa configuração, era feito backup da Pasta de Mídia porque o caminho para /magento era formado incorretamente com um // duplo.
  • O aplicativo agora traduz todas as cadeias de caracteres traduzíveis conforme esperado para a página Carrinho de administração. Anteriormente, a carga de tradução ocorria muito tarde e ignorava todos os observadores que estavam inscritos no pré-despacho da ação do controlador. GitHub-31849
  • A validação de formulário na página Criar nova conta de cliente agora funciona com êxito quando a configuração de habilitação da extensão Fazer logon como cliente está desabilitada. Anteriormente, o aplicativo exibia um erro de JavaScript.
  • Usar bin/magento setup:db-schema:split-sales para mover tabelas de banco de dados agora funciona conforme esperado. Agora as tabelas são criadas e preenchidas corretamente com dados. Anteriormente, como a verificação da existência da tabela estava incorreta, o aplicativo emitiu SQLSTATE erros quando você executou bin/magento setup:db-schema:split-sales.
  • O tratamento de exceções para processos filhos bifurcados por ProcessManager foi aprimorado. Quando uma exceção ocorre agora, o processo principal é encerrado e uma mensagem de erro é exibida apenas uma vez. Anteriormente, várias falhas de indexador eram registradas e várias mensagens eram exibidas. GitHub-30622
  • Os plug-ins globais do Adobe Commerce (por exemplo, webapi_rest e graphql ) não são mais acionados para um novo tipo de área personalizada quando o di.xml desse arquivo de área não contém plug-ins registrados.
  • As exceções que ocorrem durante a inicialização não são mais armazenadas em cache e agora acionam um código de resposta 500.
  • Os comerciantes agora podem atribuir ou excluir uma imagem de e para um evento de catálogo por exibição de loja. Anteriormente, ao alterar a exibição de armazenamento durante a edição de um evento de catálogo, a caixa de seleção Excluir Imagem não estava ativa e o aplicativo exibia este erro: Uncaught ReferenceError: toggleValueElements is not defined at HTMLInputElement.onclick. GitHub-364
  • O último manipulador mesclado em um arquivo communication.xml não substitui mais todos os manipuladores criados anteriormente. GitHub-29528

Correções gerais

  • O aplicativo agora exibe o número correto de estrelas na página Minhas análises do produto e nas revisões recentes na página Minha conta. Anteriormente, o aplicativo aplicava estrelas de revisão apenas à primeira revisão e deixava as outras revisões na página sem estrelas.
  • Os links de conta nos cabeçalhos agora seguem os padrões da WCAG. Anteriormente, os links de conta nos cabeçalhos continham IDs duplicadas, o que causava a falha da validação da WCAG.
  • O aplicativo agora salva as datas de evento de catálogo nos fusos horários UTC. Anteriormente, o aplicativo salvava datas de evento de catálogo no fuso horário do usuário.
  • O aplicativo não lança mais erros gerados pelo log do sistema quando um comprador convidado usa um endereço inválido. Anteriormente, o aplicativo exibia intermitentemente este erro em vez de renderizar a página: No such entity with addressId. GitHub-15115
  • O processo de redimensionamento de imagem não é mais interrompido para imagens em formato não compatível. Anteriormente, quando catalog:images:resize encontrou um formato de imagem sem suporte, o processo foi interrompido e o aplicativo exibiu este erro: bin/magento catalog:images:resize Unsupported image format.
  • O suporte WEBP e AVIF para imagens de logotipo foi adicionado ao administrador. GitHub-32495
  • Não é mais possível alterar o escopo do atributo media_gallery. Anteriormente, quando você alterava o escopo do atributo media_gallery de volta para global, o aplicativo gerou um erro.
  • Os produtos relacionados que foram adicionados como uma atualização agendada não são mais exibidos em uma página de produto da loja após a data de término da atualização. GitHub-469
  • O aplicativo agora exibe uma mensagem precisa e informativa quando você clica em Gerenciar itens na página Registro de presentes da minha conta e os produtos de registro estão esgotados. Anteriormente, o aplicativo exibia este erro: Error: Call to a member function getId() …. GitHub-490
  • Agora é possível adicionar uma página CMS da página Adicionar nova página à hierarquia raiz do site, conforme esperado.
  • A filtragem agora funciona conforme esperado na lista de exportações agendadas quando o tipo de entidade é selecionado. Anteriormente, o filtro não funcionava e o aplicativo exibia um erro de JavaScript. GitHub-361
  • Imagens de categoria agora são copiadas como esperado do diretório catalog/tmp/category para o diretório catalog/category quando categorias são salvas usando o método de armazenamento do banco de dados. A linha de imagem na tabela media_storage_file_storage agora também tem a directory_id correta. GitHub-11995
  • Os comerciantes agora são notificados sobre caches invalidados, conforme esperado após enviar alterações à hierarquia do CMS. Anteriormente, o aplicativo não invalidava caches ao salvar a hierarquia do CMS.
  • As solicitações redundantes de AJAX para a seção do carrinho do carrinho de compras foram reduzidas. Anteriormente, o aplicativo não carregava corretamente o subtotal do carrinho, o que acionava o recarregamento do carrinho novamente.
  • Nas implantações que executam o PHP 7.4, o aplicativo agora retorna um erro 404 quando a configuração Gerar regravações de URL de "categoria/produto" está definida como Não, e um comprador tenta acessar um caminho de categoria não existente. Anteriormente, o aplicativo retornava um erro 500 informando: Trying to access array offset on value of type bool. GitHub-31984
  • Agora você pode editar com êxito um produto criado usando um conjunto de atributos do qual os grupos Grupo de Design e Atualização de Design de Cronograma foram removidos. Anteriormente, ao tentar editar um produto criado a partir desse conjunto de atributos, o aplicativo exibia um erro fatal. GitHub-44
  • nowdoc substituiu heredoc no alternador de armazenamento Magento_Backend. GitHub-32262
  • Os administradores agora são redirecionados diretamente para a página de Admin solicitada após o logon. Anteriormente, quando um administrador fazia logon, ele era redirecionado para o painel de Administração (ou qualquer página que estivesse configurada como a página de inicialização) e tinha que navegar manualmente para o destino. GitHub-31042
  • Adicionadas as regiões da Argentina, Bolívia, Chile, Equador, Guiana, Paraguai, Peru, Suriname e Venezuela à tabela directory_country_region. GitHub-31169
  • Adição das regiões Albânia, Dinamarca, Grécia, Islândia, Portugal e Suécia à tabela directory_country_region. GitHub-31040
  • Agora as mensagens são sinalizadas como erros na fila de mensagens do MysqlMQ quando ocorrem exceções. GitHub-18140
  • O aplicativo agora faz referência ao objeto de classe correto ao carregar informações de imposto para as páginas Aviso de crédito de administrador e Fatura. GitHub-31197
  • A integração do Royal Mail Click & Drop agora funciona conforme esperado. Anteriormente, o aplicativo exibia este erro quando você tentava ativar esta integração: Sorry! Something went wrong. Please try again later. GitHub-28996
  • O aplicativo agora exibe uma mensagem de erro informativa quando uma entrega, aviso de crédito ou ID de NFF incorreta é passada em um URL. Anteriormente, o aplicativo exibia um erro fatal. GitHub-30424
  • A recursão no local dos arquivos estáticos foi removida. O aplicativo agora exibe uma página 404 em vez de um erro 500. Anteriormente, um bug na configuração padrão do NGINX levava a recursão infinita. GitHub-31530
  • O nome do arquivo cms_index_noroute.xml foi corrigido para cms_noroute_index.xml. GitHub-31300
  • O arquivo .editorconfig foi refatorado para corrigir a formatação automática de db_schema_whitelist.json arquivos. GitHub-31171
  • O redimensionamento de uma janela do navegador não aciona mais eventos de lupa de vínculo duplicado. GitHub-30788
  • O aplicativo não lança mais uma exceção SQL ao filtrar Magento\Users\Model\ResourceModel\Users\Collection por user_id. GitHub-31216

Cartões-presente

  • Os encargos de pagamento pendente agora são removidos de um vale-presente, conforme esperado, quando um vale-presente é cancelado. Anteriormente, o aplicativo exibia um erro quando cron era executado após a exclusão do cartão-presente.
  • Os compradores agora podem remover cartões-presente de um pedido na página Revisar pedido ao fazer check-out com vários endereços. Anteriormente, o aplicativo não removia o cartão-presente do pedido quando o comprador selecionou o cartão e clicou em Remover.
  • O aplicativo agora exibe o novo preço de um vale-presente no carrinho de compras quando você altera o valor do vale-presente depois de adicioná-lo ao carrinho.
  • A lógica de validação do intervalo de preços foi adicionada à página de criação do cartão-presente. Anteriormente, um administrador podia criar um cartão com um valor mínimo que excedia o valor máximo. GitHub-493
  • A consulta addRequisitionListItemsToCart agora retorna a quantidade de um vale-presente personalizado conforme esperado quando a solicitação não contém um valor para allow_open_amount.

Mensagem de presente

  • A mutação setGiftOptionsOnCart agora cria mensagens de presente corretamente. GitHub-388

Registro de presentes

  • Os valores de Data do evento agora são os mesmos na loja e no Administrador durante a criação ou edição do Registro de presente. Anteriormente, cada vez que você editava e salvava o registro de presentes, o aplicativo ajustava a Data do evento um dia atrás na vitrine e no Administrador. GitHub-466
  • O aplicativo não exibe mais produtos desabilitados em registros de presentes. Anteriormente, se um produto era desabilitado depois de ser adicionado a um registro de presente, o aplicativo exibia esta mensagem quando um comprador acessava o registro: Error: Call to a member function getId() …. GitHub-510

Invólucro do presente

  • A tradução de rótulos de invólucro de presente para exibições de loja agora funciona conforme esperado.
  • O invólucro do presente agora é aplicado conforme esperado aos pedidos enviados para vários endereços.
  • O aplicativo agora remove os encargos de invólucro do presente do carrinho de compras quando todos os produtos foram removidos.
  • Os totais do Aviso de Crédito agora estão corretos quando o aviso de crédito contém contorno de presente e encargos configuráveis do produto. Anteriormente, o valor do imposto de quebra de presente nem sempre era incluído no total do aviso de crédito. GitHub-34

Google Analytics

  • O aplicativo não gera mais um erro quando um administrador tenta carregar uma página na loja quando o Google Analytics está habilitado. Uma entrada CSP para connect-src foi adicionada para permitir solicitações AJAX to www.google-analytics.com. GitHub-30880

Gerenciador de tags da Google

  • O componente de interface do usuário para o endereço de faturamento na página de pagamento do fluxo de trabalho de finalização agora usa o endereço de cotação corretamente quando o Google Tag Manager está ativado. Anteriormente, ocorria um erro de JavaScript na página de pagamento.

GraphQL

  • A consulta products do GraphQL agora retorna opções de atributo classificadas na mesma ordem de classificação usada na página de edição de atributos.
  • A resposta à solicitação do GraphQL { category(id: 2){ children { name children { name } } } } agora inclui uma árvore de categorias classificada corretamente.
  • O objeto CartItemPrices agora contém o novo campo do GraphQL fixed_product_taxes, que retorna uma matriz dos impostos fixos do produto aplicados a um item do carrinho. Anteriormente, os impostos fixos do produto aplicados a um item do carrinho não eram incluídos na consulta do carrinho.
  • Solicitações vazias para o GraphQL agora lançam o código de resposta 200 em vez de 500. Anteriormente, o analisador do GraphQL lançava uma exceção antes de o resultado da consulta ser gerado.
  • A mutação applyRewardPointsToCart agora atualiza o total geral de um carrinho para refletir com precisão o valor dos pontos de premiação deduzidos. GitHub-486
  • Os produtos com deficiência não são mais incluídos na resposta do GraphQL quando o GraphQL é usado para vincular produtos de venda adicional.
  • Agora os comerciantes podem usar o método setShippingAddressesOnCart da GraphQL para definir endereços de cobrança e de envio para o carrinho do comprador quando o check-out do convidado está desabilitado.
  • A consulta categoryList não lança mais uma exceção quando contém vários fragmentos no objeto CategoryTree. GitHub-31086
  • A consulta product do GraphQL agora retorna os preços corretos do grupo de clientes.
  • A resposta de consulta do GraphQL products agora classifica agregações de acordo com a posição de atributo do produto.
  • O aplicativo não lança mais erros de tipo durante consultas do GraphQL quando os sufixos de URL do produto e da categoria contêm valores nulos. GitHub-30909
  • O objeto CustomizableDateValue agora contém o atributo type. Seu valor é uma enumeração que pode ser definida como DATE, DATE_TIME ou TIME.
  • A consulta dynamicBlocks retorna o conteúdo dos blocos dinâmicos que correspondem aos filtros especificados.
  • A solicitação POST V1/products/special-price-delete agora exclui somente o preço com um store_id especificado, conforme esperado. Anteriormente, a chamada removia de todas as lojas todos os preços especiais para o SKU especificado. GitHub-25907
  • Correção de um erro com o atributo country_code na mutação createGiftRegistry.
  • Correção de problemas com o atributo giftRegistryUid da mutação updateGiftRegistryItems.
  • Adição de uma verificação adicional para impedir que a mutação updateGiftRegistryRegistrants seja usada para adicionar pessoas aleatórias como registrantes a um registro de presentes.
  • A mutação addConfigurableProductsToCart agora retorna a miniatura correta do produto especificado. Anteriormente, retornava a miniatura do produto principal.
  • A consulta products não expõe mais o preço especial de um produto quando o período de preço especial é definido para uma data futura. GitHub-30210, GitHub-29631
  • A resposta de consulta customer agora inclui o atributo total_giftcard como parte do objeto OrderTotal.
  • Correção de um problema que fazia com que a consulta products retornasse informações incorretas sobre camadas de preço em itens que não têm definição de preço de camada. GitHub-32279

Imagem

  • Agora é possível definir os atributos do pacote required_options e has_options conforme esperado ao criar ou atualizar um produto do pacote usando o ponto de extremidade POST /V1/product/:sku. Anteriormente, esses atributos personalizados eram definidos como 0 (zero), apesar dos esforços para defini-los como 1 (um).

Importar/exportar

  • O filtro IDs de categoria para entidades de produto na grade Atributos de entidade da página Exportar agora funciona conforme esperado.
  • O status do estoque de produtos agrupados agora é atualizado conforme esperado para indisponível quando todos os produtos secundários estiverem indisponíveis. GitHub-32647
  • O status do estoque de produtos configuráveis agora é atualizado automaticamente conforme esperado quando o status do estoque de produtos secundários é atualizado pela importação. Anteriormente, o status do estoque do produto não era atualizado automaticamente quando o status do estoque de produtos secundários era atualizado pela importação.
  • Agora é possível salvar valores vazios em uma exportação agendada. Anteriormente, o aplicativo atualizava valores de filtro vazios após a criação ou o salvamento da exportação. Os valores no e not specified foram representados por zero no banco de dados, e um valor de not selected foi substituído por no.
  • O processo de exportação agora leva em conta o escopo da função do usuário ao exportar produtos, fontes de estoque e entidades do cliente. Anteriormente, o processo de exportação ignorava o escopo da função do usuário, o que permitia a exportação de entidades de exportação de função de usuário privada.
  • O aplicativo agora define a classe de imposto do produto como None se um produto for importado com tax_class_name valores None ou 0. Anteriormente, se product tax_class_name fosse None no arquivo CSV, o aplicativo criava uma nova classe de imposto None, que duplicava a classe de imposto existente. Se product tax_class_name fosse 0 no arquivo CSV, o aplicativo ignoraria esse valor e a classe de imposto do produto não seria alterada após a importação.
  • Os administradores agora podem alterar com êxito o name do bundle_values de um produto de pacote do Administrador. Anteriormente, o aplicativo exibia o produto como indisponível na loja depois que você alterava o nome de Administrador. Os produtos também foram mesclados com o mesmo SKU em uma única seção de opção de pacote.
  • O aplicativo agora considera o escopo do usuário ao exportar dados do cliente. Anteriormente, ao tentar exportar clientes, o aplicativo exportava dados do cliente de todos os sites.
  • O aplicativo agora remove os relacionamentos de produtos entre venda adicional, venda cruzada e produtos relacionados durante a importação do arquivo CSV, como esperado quando __EMPTY__VALUE__ é especificado no arquivo CSV.
  • A exportação de dados de endereço personalizados para muitos clientes (Admin Sistema > Exportar) não resulta mais em um erro de memória de rotina. Anteriormente, ao exportar dados de endereço personalizados, o aplicativo tentava carregar todos os dados do cliente, o que resultava na redução da memória, e o aplicativo exibia um erro de falha na alocação de memória.
  • Os preços de camada duplicados não são mais importados durante o processo de importação de CSV padrão. Anteriormente, a validação estava ausente para impedir a importação de preços de níveis duplicados e, quando esses preços ocorreram, os comerciantes não podiam salvar os produtos. Os comerciantes também viram este erro ao tentar agendar uma alteração de produto: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry….
  • Todas as imagens do produto agora são validadas durante a importação. Anteriormente, o aplicativo validava somente a primeira imagem quando um produto tinha várias imagens. GitHub-28236
  • Agora é possível excluir uma região de um endereço de cliente, conforme esperado durante a importação. Anteriormente, a região atribuída não era alterada quando um endereço de cliente era importado com uma região vazia.
  • Os produtos com conteúdo JSON ou HTML como atributos de produto adicionais agora são exportados corretamente para um arquivo CSV. Anteriormente, o arquivo CSV continha strings de dados sobrepostas em campos incorretos.

Índice

  • O Process Manager agora existe com um erro quando um processo secundário falha. Anteriormente, o Process Manager sempre saía com êxito se o número de funções passadas para ele (por exemplo, dimensões de indexador) fosse menor que o valor da variável de ambiente MAGE_INDEXER_THREADS_COUNT. GitHub-30964
  • Os produtos agora estão disponíveis conforme esperado nos resultados de pesquisa da loja ao vincular produtos usando uma solicitação REST PUT /V1/products/:sku/links quando o modo indexador está definido como Atualizar ao salvar.
  • O indexador da regra de preço de catálogo agora funciona como esperado quando o modo do indexador está definido como Atualizar ao Salvar. GitHub-370
  • A exclusão de uma categoria desabilitada que não inclui um produto agora não afeta a pesquisa de catálogo e as tabelas de índice simples de categoria. Anteriormente, a exclusão de uma categoria inativa acionava uma reindexação completa. GitHub-23297
  • Os indexadores personalizados agora podem usar diferentes nomes de colunas de entidade para assinaturas. Anteriormente, o gatilho de banco de dados usava o nome da coluna do último indexador definido como Atualizar pelo Agendamento, em vez do indexador designado. GitHub-21853
  • O aplicativo não envia mais solicitações AJAX para recarregar as seções de dados do cliente (Magento_Customer/js/section-config) que não são afetadas pela solicitação. GitHub-31948
  • Os indexadores a seguir não são mais invalidados depois que você adicionar, remover ou reordenar produtos em uma categoria: catalog_category_product e catalogsearch_fulltext (e seus dependentes). Anteriormente, essas remoções involuntárias acionavam a reindexação completa dos sites. Uma reindexação completa agora é impedida sob essas condições quando o catálogo simples não está ativado.

Infraestrutura

  • A dependência pelago/emogrifier foi atualizada da versão 3.1.0 para 5.0.0. Esta atualização resultou na introdução de alterações incompatíveis com versões anteriores na classe Magento\Email\Model\Template\Filter. O código alterado é executado durante a renderização dos templates de email. Consulte referência do BIC.
  • Correção de um problema com \Magento\CatalogInventory\Model\Indexer\Stock\CacheCleaner::getCategoryIdsByProductIds que impedia o salvamento de um novo produto.
  • A biblioteca TinyMCE v3 obsoleta foi removida. O módulo Magento_Tinymce3Banner e os testes MFTF relacionados ao TinyMCE v3.x foram removidos do Adobe Commerce.
  • O aplicativo não lança mais um erro Invalid header value detected no formulário Fale conosco quando um comprador insere um endereço de email que contém marcas diacríticas francesas (como "é", "è"). O aplicativo agora converte letras UTF-8 no nome do usuário para codificação ASCII. Anteriormente, as letras UTF-8 não eram convertidas para a codificação ASCII na seção exclusiva do endereço de email.
  • O aplicativo não lança mais um erro fatal do PHP quando um plug-in é adicionado a uma classe pai. GitHub-31291
  • Atualização dos arquivos README.md para estes módulos: Magento_Msrp, Magento_MsrpConfigurableProduct, Magento_MsrpGroupedProduct, Magento_Multishipping, Magento_MysqlMq. GitHub-32577
  • phpcpd foi atualizado para v6.0.3 para compatibilidade com o PHP 8.
  • colinmollenhour/php-redis-session-abstract foi atualizado para v1.4.4 para compatibilidade com o PHP 8. GitHub-32709
  • Correção de uma combinação inválida de guias e espaços no arquivo phpstan.neon. GitHub-31239
  • Remoção do uso da propriedade obsoleta $_isScopePrivate em toda a base de código. GitHub-30506
  • Os layouts de página não são mais codificados permanentemente no Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser\Container. Como resultado, a função getPageLayouts() agora retorna a lista real de layouts de página declarados pelos diferentes módulos, conforme esperado. Anteriormente, retornava apenas layouts codificados. GitHub-31168
  • O arquivo composer.lock foi atualizado para a versão mais recente do Padrão de codificação. GitHub-31152
  • Adicionada uma dependência ausente no pacote web-token/jwt-framework a magento/module-jwt-framework-adapter. GitHub-32578
  • Os ouvintes passivos foram adicionados à biblioteca fotorama.js para melhorar a pontuação das métricas do farol. GitHub-31140
  • O arquivo README.md para o módulo Google Analytics foi atualizado. GitHub-32616
  • O Process Manager agora lida com exceções adequadamente em processos bifurcados. O processo principal agora existe, e o aplicativo agora exibe uma mensagem de erro apenas uma vez. Além disso, as exceções dos processos bifurcados agora são tratadas quando são lançadas no processo principal. Anteriormente, o aplicativo registrava várias falhas de indexador e exibia várias mensagens de erro. GitHub-30622
  • O aplicativo não lança mais um erro quando um plug-in é adicionado a uma classe principal. (O parâmetro optionsProvider agora é declarado após getContentIdentities em Assest.php.) Anteriormente, o aplicativo exibia este erro: Error: Cannot instantiate interface Magento\Framework\Data\OptionSourceInterface. GitHub-31291
  • A execução de Magento\Framework\Filesystem\Io\Ftp::ls() em uma pasta vazia agora retorna uma matriz vazia, conforme esperado. Anteriormente, o aplicativo gerou esta exceção: Invalid argument supplied for foreach() in vendor/magento/framework/Filesystem/Io/Ftp.php…. GitHub-31288
  • O método update para Função e Regras foi marcado como obsoleto em app/code/Magento/Authorization/Model/Role.php. GitHub-30756
  • A concatenação dos parâmetros de cookie SameSite foi corrigida. Anteriormente, a concatenação incorreta anexou o sufixo lex a value, domain e outros parâmetros. GitHub-26377, GitHub-32440
  • allure-framework/allure-phpunit foi atualizado para v1.3.1 em toda a base de código. Anteriormente, o aplicativo exibia este erro: Warning: Use of undefined constant GLOB_BRACE - assumed 'GLOB_BRACE' (this will throw an Error in a future version of PHP) in /var/www/html/src/vendor/allure-framework/allure-phpunit/src/Yandex/Allure/Adapter/AllureAdapter.php:74. GitHub-24635
  • O aplicativo agora exibe mais erros informativos quando ocorrem erros ao executar comandos bin/magento no modo de produção. Anteriormente, o aplicativo não exibia mensagens de erro ou exibia mensagens sem informações. GitHub-32786
  • O objeto PHP ArrayIterator foi atualizado para funcionar conforme esperado com o PHP 7.4. GitHub-32088
  • O aplicativo não emite mais um erro quando um cliente tenta concluir um pedido sem transportadoras disponíveis. Em vez disso, ele exibe a página de check-out e esta mensagem: Sorry, no quotes are available for this order at this time. Anteriormente, o aplicativo exibia uma página de check-out em branco e registrava esta mensagem no log de exceção: array_keys() expects parameter 1 to be array, null given. GitHub-30830
  • O aplicativo não registra mais cada cookie como um contexto separado. A matriz $_COOKIE também foi convertida em uma cadeia de caracteres. Anteriormente, como cada cookie era registrado como um contexto separado, quando o número de cookies excedia 50, o aplicativo registrava esta mensagem: Unable to send the cookie. Maximum number of cookies would be exceeded. GitHub-31334

Fatura

  • Ao criar novas faturas no Administrador, a caixa de seleção Cópia de email de agora funciona conforme esperado. Anteriormente, a caixa de seleção era ignorada se a configuração global para enviar emails de fatura estivesse habilitada em Emails de vendas. Agora ele é consistente e opera da mesma forma que as páginas de criação de memorando de crédito e remessa. GitHub-28511

Galeria de mídia

  • bin/magento media-gallery:sync agora falha como esperado ao processar imagens PNG que não possuem informações de XMP.
  • As entradas na tabela catalog_product_entity_media_gallery são removidas conforme esperado quando os produtos relacionados são excluídos. GitHub-17727
  • Os detalhes da imagem agora podem ser atualizados na Galeria de mídia quando a minificação do JavaScript está habilitada. Anteriormente, os detalhes da imagem não eram salvos e o aplicativo exibia este erro: TypeError: Cannot read property 'call' of undefined in jquery.validate. GitHub-31633

MFTF

Os novos recursos e correções de bugs principais MFTF estão descritos no Log de Alteração da Estrutura de Teste Funcional.

  • Os comandos magento indexer:reindex e cache:flush e o grupo de ação AdminReindexAndFlushCache foram removidos dos testes para melhorar a execução dos seguintes módulos: Bundle, Catalog, CatalogRule, CatalogRuleConfigurable, CatalogUrlRewrite, Downloadable, Indexer, Paypal e Sales. GitHub-31031
  • AdminSubmitCategoriesPopupActionGroup foi adicionado aos testes para evitar falha no teste. GitHub-31251
  • Os testes foram refatorados com StorefrontCheckQuickSearchStringActionGroup e StorefrontAssertProductNameOnProductMainPageActionGroup (grupos de ação existentes). GitHub-31251

Testes refatorados

Os testes a seguir foram refatorados para melhorar o tempo de execução:

AddOutOfStockProductToCompareListTest

AdminApplyTierPriceToProductWithPercentageDiscountTest

AdminCheckingCreditMemoTotalsTest

AdminCheckDashboardWithChartsTest

AdminConfigDefaultProductLayoutFromConfigurationSettingTest

AdminCreateInvoiceTest

AdminCreateOrderAddProductCheckboxTest

AdminMassOrdersCancelCompleteAndClosedTest

AdminMassOrdersCancelProcessingAndClosedTest

AdminMassOrdersHoldOnCompleteTest

AdminMassOrdersHoldOnPendingAndProcessingTest (substituição de AdminMassOrdersHoldOnPendingAndProcessingTest obsoleto)

AdminMassOrdersUpdateCancelPendingOrderTest

AdminMassProductPriceUpdateTest

AdminMassUpdateProductAttributesMissingRequiredFieldTest

AdminOrdersReleaseInUnholdStatusTest

AdminPanelIsFrozenIfStorefrontIsOpenedViaCustomerViewTest

AdminSortingByWebsitesTest

AdminUpdateSimpleProduct

AdminUpdateSimpleProductWithRegularPriceInStockEnabledFlatTest

AdminValidateShippingTrackingNumberTest

CancelOrdersInOrderSalesReportTest

ProductsQtyReturnAfterOrderCancelTest

StorefrontConfigurableProductBasicInfoTest

Grupos de ação

As ações repetitivas foram substituídas por grupos de ação nestes testes:

AdminCheckConfigurableProductPriceWithDisabledChildProductTest

AdminConfigurableProductCreateTest

AdminConfigurableProductRemoveAnOptionTest

AdminCreateProductDuplicateUrlkeyTest

AdminCreateSimpleProductNegativePriceTest

AdminCreateSimpleProductZeroPriceTest

AdminCreateVirtualProductFillingRequiredFieldsOnlyTest

AdminUpdateSimpleProductWithRegularPriceInStockDisabledProductTest

AdminUpdateSimpleProductWithRegularPriceInStockNotVisibleIndividuallyTest

AdminUpdateSimpleProductWithRegularPriceInStockVisibleInCatalogOnlyTest

Novos grupos de ação

AdminClearFiltersOnGridActionGroup

AdminClickAddNewPageOnPagesGridActionGroup

AdminClickInsertWidgetActionGroup

AdminClickRefundOfflineOnNewMemoPageActionGroup

AdminFillAccountInformationOnCreateOrderPageActionGroup

AdminGoToOrderStatusPageActionGroup

AdminOpenCMSPagesGridActionGroup

AdminSelectAttributeSetOnEditProductPageActionGroup

AssertAdminProductIsAssignedToCategoryActionGroup (substitui filtrando a Grade de Produtos por SKU e clicando na primeira linha (para diminuir o tempo de execução de teste)

AssertLinkActionGroup

AssertStorefrontCartDiscountActionGroup

ClickPlaceOrderActionGroup

SaveCmsPageActionGroup

StorefrontAssertProductNameIsNotOnProductMainPageActionGroup

StorefrontGuestCheckoutProceedToPaymentStepActionGroup

StorefrontHoverProductOnCategoryPageActionGroup

StorefrontSelectCustomizeAndAddToTheCartButtonActionGroup

Grupos de ação excluídos

  • Removido CliIndexerReindexActionGroup (ou valor alterado) dos testes para melhorar o tempo de execução dos módulos Backend, Bundle, BundleImportExport, Catalog, CatalogRule, CatalogSearch, Checkout, Downloadable, Elasticsearch, Elasticsearch6, Indexer, LayeredNavigation, LoginAsCustomer, Newsletter, Sales, SalesRule, Search, Store, Swatches, UrlRewrite, Weee e Wishlist.
  • Removido CliCacheFlushActionGroup dos módulos Catalog, CatalogUrlRewrite, Checkout, Config, ConfigurableProduct,Contact, Cookie, CurrencySymbol, Customer, Downloadable, Elasticsearch, Elasticsearch6, Fedex, Indexer, LayeredNavigation,LoginAsCustomer, Msrp, Multishipping, Sales, Swatches, Translation, UrlRewrite, Vault, Weee e Wishlist.

Informativo

  • O aplicativo não envia mais o email do informativo a um cliente que cancelou a assinatura do informativo no período entre a criação da fila de informativos e o envio do informativo. GitHub-32116
  • O aplicativo agora atende às configurações de habilitação do informativo (Lojas > Configurações > Configuração > Clientes > Informativo > Opções Gerais). Anteriormente, essas configurações eram sempre recuperadas do escopo padrão em implantações de várias lojas. GitHub-31188
  • A GET de chamada REST /V1/customers/search agora retorna as informações corretas para os clientes que assinaram vários boletins informativos. GitHub-31168
  • O status da assinatura em cache foi removido do plug-in de boletim informativo. GitHub-19345

Pedido

  • O aplicativo agora calcula corretamente um saldo de cliente faturado ao retornar o crédito da loja para uma conta de cliente para uma ordem parcialmente faturada.
  • O aplicativo agora salva uma ordem modificada conforme esperado quando salva um saldo de cliente reembolsado. GitHub-393

Métodos de pagamento

  • O aplicativo agora renderiza blocos de pagamento em frontend, independentemente da área da qual o email foi enviado. (A área atual agora é emulada como frontend antes do bloco de pagamento ser renderizado.) Anteriormente, os blocos de pagamento eram renderizados na área da qual o email era enviado. Como resultado, independentemente de o email de vendas ter sido acionado pelo Administrador ou pela API REST, as URLs de ativos tentaram carregá-los da área errada (webapi_rest ou adminhtml).
  • O aplicativo agora envia o link de um produto baixável para o endereço de email especificado durante o check-out. Anteriormente, quando um comprador convidado usava o Check-out do PayPal Express e inseria diferentes endereços de email para enviar o pedido e fazer o check-out, o aplicativo enviava o link do produto disponível para download para o primeiro endereço.
  • O aplicativo agora exibe um valor preciso para o crédito de loja disponível na página Método de pagamento em implantações que oferecem suporte a várias moedas.
  • A lista de métodos de pagamento agora é atualizada conforme esperado quando um comprador convidado altera o endereço de entrega de um pedido para um país diferente durante o checkout. Anteriormente, a alteração do endereço de faturamento não acionava uma atualização dos métodos de pagamento possíveis.

PayPal

  • Os compradores agora podem fazer check-out com sucesso de um pedido PayPal Payflow Pro com um endereço de envio que contém caracteres especiais. Anteriormente, o aplicativo recusava o pagamento desses pedidos.
  • Os compradores agora são redirecionados de volta para a página de sucesso do pedido após um pagamento bem-sucedido usando o PayPal. Anteriormente, os compradores eram redirecionados para uma página em branco porque os dados da sessão eram perdidos.

Desempenho

  • O desempenho da pesquisa do SKU do administrador em catálogos grandes melhorou. As dicas do otimizador de consultas agora forçam o uso do índice durante a execução da consulta.
  • O desempenho do processo catalog_product_alert cron ao ser executado em tabelas grandes (vários milhões de linhas) foi aprimorado. Anteriormente, o catalog_product_alert carregava todos os alertas de produto, o que causava uma exceção de falta de memória.
  • O aplicativo não carrega mais todas as páginas CMS quando precisa de apenas uma página de edição para renderizar um formulário de Administrador. Essas páginas agora carregam mais rápido. GitHub-30936
  • Os valores numéricos em expressões WHERE IN agora são convertidos como número, não como sequência, o que melhora o desempenho da consulta em algumas versões de MariaDB. GitHub-31135

  • O modo use_application_lock permite habilitar a reindexação usando variáveis de ambiente ou configurando o arquivo app/etc/env.php. Não é mais necessário redefinir manualmente o indexador após uma falha com esse modo ativado. Quando esse modo não estiver habilitado, você deverá redefinir manualmente o indexador após uma falha. Consulte Usando o modo de bloqueio do aplicativo para processos de reindexação.

Preços

  • O aplicativo agora atualiza corretamente o preço de um produto com preços agrupados quando um comprador atualiza a quantidade do produto na loja. GitHub-32669
  • Os produtos do pacote agora podem ser salvos quando os produtos tiverem um preço de camada atribuído e Magento\Framework\Api\ExtensibleDataObjectConverter for usado para converter dados do produto. Anteriormente, quando Magento\Framework\Api\ExtensibleDataObjectConverter era usado para converter dados do produto em uma matriz quando um produto era salvo, o aplicativo não salvava o produto e exibia este erro: Notice: Undefined index: price in app/code/Magento/Catalog/Model/Product/Type/Price.php on line 382.
  • As atualizações de preço programadas agora são aplicadas aos produtos que já estão no carrinho do comprador. GitHub-356
  • O nível de preço agora é aplicado a um produto conforme esperado quando os incrementos de quantidade são ativados e o estoque decimal é menor que 1. Anteriormente, a quantidade mínima de preço de nível era definida como 1.

Vídeo do produto

  • Agora você pode usar o botão Adicionar Vídeo (Admin Catálogo > Produtos) para adicionar vários vídeos consecutivamente. Anteriormente, os campos de vídeo mantinham os detalhes do vídeo anterior.
  • Entrar no modo de tela cheia de um vídeo de produto em uma página de produto agora funciona conforme esperado em dispositivos móveis. Anteriormente, entrar no modo de tela cheia fazia com que o vídeo pausasse antes de sair do modo de tela cheia.
  • Os botões de seta de navegação (Próximo e Anterior) agora estão visíveis, conforme esperado, nos vídeos de produtos da loja.
  • Os comerciantes agora podem adicionar vídeos do Vimeo usando o botão Inserir vídeo na página do produto, conforme esperado. Anteriormente, o aplicativo exibia um erro 404. GitHub-31753

Aspas

  • A chamada /V1/guest-carts/examplecartid/items agora retorna a exibição de loja solicitada. Anteriormente, retornava a primeira visualização de loja na loja, não a solicitada.
  • O envio de fatura agora é configurável. Anteriormente, o envio de faturas não era configurável, e o aplicativo sempre enviava uma fatura após sua criação. Emails de fatura e pedido foram enviados no escopo de um observador. Observadores separados agora controlam o envio de email de pedido e email de fatura. GitHub-27656

Relatórios

  • Todos os relatórios do sistema agora podem ser visualizados e baixados no projeto Adobe Commerce na infraestrutura em nuvem. Anteriormente, não era possível baixar relatórios do sistema para Logs, Data, Design ou Lojas.
  • A data da Última Revisão em Relatórios > Avaliações > Por Produtos do Administrador agora exibe a data de revisão correta. Anteriormente, o aplicativo exibia a data de criação do produto em vez da data de revisão.

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

  • O atributo RMA resolution não é mais exibido como obrigatório quando o valor do campo de atributo required é definido como não.
  • Agora você pode selecionar vários pedidos para devolução do Administrador. Anteriormente, o aplicativo exibia um erro ao clicar em Enviar depois de selecionar vários retornos e selecionar Fechamento no menu suspenso Ações.
  • O aplicativo agora envia uma notificação por email aos clientes, conforme esperado, depois que você altera o status de um retorno usando a API REST.
  • O aplicativo agora filtra os registros de acordo com os valores de filtro na grade de retornos do cliente administrador. Anteriormente, o aplicativo direcionava você à página Administrador de Todos os Clientes e, ao clicar no botão Redefinir Filtro, também redirecionava para essa página. GitHub-436

Resenhas

  • As estrelas da classificação de análise do produto agora são calculadas corretamente na seção Revisar detalhes da página Minha conta.
  • As seções Classificação média do produto e Classificações do produto da página Detalhes da revisão do produto agora são renderizadas corretamente. Anteriormente, a ID de revisão não era definida quando o aplicativo calculava a classificação da loja e o modelo de revisão do produto não era renderizado corretamente.
  • O link Seja o primeiro a analisar este produto agora é alterado, conforme esperado, para uma contagem de revisão depois que um administrador aprova uma revisão.
  • Agora, os administradores podem classificar as análises dos produtos na seção Análises do produto da página de edição do produto, conforme esperado. GitHub-30270
  • As análises agora são salvas com a ID de loja correta depois que um administrador aprova e salva a análise de um domínio diferente da loja. GitHub-17510

Recompensas

  • Os comerciantes agora podem cancelar um pedido feito total ou parcialmente, usando pontos de premiação, depois que o cliente que fez o pedido for removido do sistema.
  • Os comerciantes agora podem remover pontos de premiação das regras de preço do carrinho. Anteriormente, quando um comerciante tentava definir Pontos de premiação como 0 ao criar uma regra de preço do carrinho, o valor anterior para a quantidade de pontos de premiação persistia.
  • Os pontos de premiação para análises de produtos agora estão associados ao site relevante quando várias análises são aprovadas na grade de Admin Marketing > Análises pendentes. Anteriormente, os pontos de premiação não eram exibidos na loja e não estavam vinculados ao site relevante no Administrador.
  • O aplicativo agora atualiza a lista de métodos de pagamento quando um comprador que está fazendo check-out com vários endereços marca ou desmarca a opção Armazenar Crédito (Pontos de Recompensa).

Vendas

  • Os usuários administradores agora podem fazer pedidos para itens esgotados quando a configuração Pedidos pendentes estiver habilitada (Lojas > Configuração > Catálogo > Inventário > Opções do Estoque de Produtos). Anteriormente, o aplicativo exibia um erro.
  • Os compradores agora podem encontrar um pedido na página Pedidos e devoluções quando o sobrenome termina com um espaço em branco.
  • Agora as faturas são criadas com o total geral correto quando uma regra de preço do carrinho que atribui um desconto de 100% é aplicada a um pedido que também está sujeito a impostos de produto de catálogo e de desconto e que se qualifica para remessa gratuita. Anteriormente, o pedido tinha o preço correto, mas a fatura não tinha. GitHub-30853
  • Filtrar pedidos por data agora retorna resultados precisos. Anteriormente, o aplicativo não retornava um pedido que era feito depois das 00:00 UTC, quando você filtrava pedidos por data do pedido.
  • A grade do memorando de crédito agora exibe o símbolo de moeda correto quando o escopo do Site é usado para um atributo de Preço em uma implantação de várias lojas.
  • Os botões de opção Métodos de pagamento não desaparecem mais na seção Informações de pagamento e envio do fluxo de trabalho de finalização depois que a página Criar novo pedido pelo administrador é recarregada. GitHub-32106
  • O texto árabe agora é exibido corretamente nas faturas.
  • O aplicativo agora calcula corretamente os totais de impostos parciais do aviso de crédito para avisos de crédito baseados em um pedido ou em uma fatura em lojas que implantam o PayPal Payment Pro como um gateway de pagamento. Anteriormente, para ordens com várias NFFs, a aplicação aplicava todo o imposto dessa ordem para o cancelamento parcial da NFF no aviso de crédito.
  • O aplicativo não cria mais deadlocks aleatórios do banco de dados ao enviar novos emails de pedido aos clientes. Anteriormente, ocorriam bloqueios porque o aplicativo salvava o objeto inteiro e seus objetos relacionados, em vez de atualizar colunas SQL. O aplicativo exibiu este tipo de erro: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction. GitHub-31090
  • A página de detalhes do pedido da vitrine agora exibe a quantidade correta do produto entregue. Anteriormente, as quantidades de produto estavam incorretas porque o modelo da página Remessa de pedido renderizava Qtd. Remetida como int. Isto foi alterado para float.
  • O aplicativo não envia mais cópias por email de uma fatura de pedido quando o botão Cópia por email de fatura está desmarcado. Anteriormente, o aplicativo enviou um email para Cliente e Enviar cópia de email de fatura para. GitHub-28511
  • O aplicativo não cria mais entradas de endereço duplicadas para uma conta de cliente ao criar um novo pedido do Administrador para um cliente existente. A caixa de seleção Salvar no Catálogo de Endereços foi renomeada para Adicionar ao Catálogo de Endereços e agora está desmarcada por padrão no Administrador.
  • O aplicativo agora usa o logotipo que foi carregado nas configurações Logotipo para Exibição de Impressão do HTML quando os compradores imprimem um pedido da conta. Anteriormente, o aplicativo exibia o logotipo LUMA em vez do logotipo carregado.
  • O pager de itens de pedido na loja agora funciona como esperado quando a contagem de itens excede 20. Anteriormente, o pager levava em conta os produtos secundários e a contagem total estava incorreta.
  • O aplicativo agora exibe os símbolos de moeda corretos para o subtotal e os valores de remessa e manuseio nas grades da página Ordem e da página Aviso de Crédito. GitHub-22662
  • Os administradores que usam o Safari agora podem adicionar um produto a um pedido do administrador com êxito. Anteriormente, quando o administrador clicou no botão Adicionar produtos selecionados ao pedido, o aplicativo exibia o ícone de carregamento giratório e a página travava. GitHub-30265

Regra de Vendas

  • O aplicativo agora aplica as regras de preço do carrinho com as condições Desconto de Quantidade Máxima Aplicado a ou Etapa de Quantidade do Desconto (Comprar X) corretamente quando várias regras de preço do carrinho são aplicadas ao carrinho de compras. Anteriormente, se uma regra de preço do carrinho com Desconto de Quantidade Máxima fosse Aplicada a ou a Etapa de Quantidade do Desconto (Comprar X) fosse aplicada depois de outra regra de preço do carrinho, o desconto total era reduzido ao valor configurado para Desconto de Quantidade Máxima Aplicado a ou Etapa de Quantidade do Desconto (Comprar X) vezes o preço do produto.
  • O relatório de Cupom agora reflete com precisão a atividade de cupom em implantações em que um banco de dados dividido é implementado.
  • As regras de preço do carrinho que contêm a condição Categoria NÃO É agora são aplicadas como esperado a produtos filho/simples configuráveis que não estão atribuídos a uma categoria, mas cujos produtos pai estão atribuídos.
  • A consulta cart do GraphQL agora retorna o total geral correto para a etapa de cobrança de um carrinho quando um cupom é aplicado ao pedido.

Pesquisar search-heading

  • A página de categoria não contém mais estas IDs de elemento de HTML duplicadas: modes-label, mode-list, toolbar-amount, sorter, limiter.
  • Os resultados parciais da pesquisa de palavras não incluem mais correspondências inesperadas ou irrelevantes, e as pesquisas produzem resultados consistentes na loja e no administrador. O aplicativo agora usa um analisador diferente sem um lematizador para pesquisas parciais de palavras. Anteriormente, os resultados da pesquisa exibiam produtos que não incluíam palavras-chave de pesquisa. (O analisador padrão anteriormente incluía um lematizador e, como o mesmo analisador foi usado no tempo de pesquisa para pesquisa de palavra parcial, o resultado da pesquisa poderia produzir correspondências inesperadas ou irrelevantes.)
  • A pesquisa rápida agora retorna resultados se a consulta de pesquisa tiver várias palavras e o nome do produto estiver configurado como não pesquisável. Anteriormente, se o nome do produto era configurado como não pesquisável, o aplicativo exibia uma exceção de consulta em consultas de pesquisa com várias palavras.
  • Os resultados da pesquisa agora incluem o atributo weight conforme esperado quando configurado como pesquisável.
  • O aplicativo não emite mais um erro quando você visualiza uma página de categoria vazia com o Elasticsearch ativado. Em vez disso, ele renderiza a página conforme esperado e exibe uma mensagem informativa. Anteriormente, um índice de texto completo vazio acionava uma exceção em uma página de categoria.
  • O recurso de preenchimento automático do campo de pesquisa agora funciona conforme esperado se um comprador clicar fora do campo de pesquisa depois de iniciar a pesquisa. As sugestões de preenchimento automático agora reaparecem quando o comprador retoma a digitação. Anteriormente, o aplicativo não exibia sugestões de preenchimento automático e clicar na caixa de pesquisa não tornava as sugestões de pesquisa visíveis novamente (embora digitar letras adicionais o fizesse).
  • Pesquisar um produto com base em seu SKU total ou parcial na Pesquisa avançada agora retorna o produto esperado.
  • Agora, os filtros de navegação em camadas exibem contagens precisas do produto. Anteriormente, os valores de contagem de produtos do Elasticsearch não eram filtrados por permissões de catálogo.
  • O Elasticsearch não lança mais um erro quando o parâmetro de página do URL da categoria excede a paginação. GitHub-23843
  • Agora você pode adicionar um mapeador de campo Elasticsearch personalizado a Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver. GitHub-24350
  • Os desenvolvedores agora podem alterar os mapeamentos de Elasticsearch. Anteriormente, os modelos dinâmicos enviados para o servidor Elasticsearch nos mapeamentos padrão eram codificados, o que impedia os desenvolvedores de indexar no Elasticsearch quaisquer dados extras associados a um módulo personalizado. GitHub-24363
  • Os campos de pesquisa (minipesquisa de formulário) agora funcionam como esperado quando as Sugestões de pesquisa estão desativadas. GitHub-30584

Envio

  • O aplicativo agora atualiza o preço de envio conforme esperado quando um comprador navega de volta para a página do carrinho depois de excluir um produto durante o checkout com vários endereços.
  • O aplicativo agora exibe o preço de envio ajustado correto quando alguns itens no carrinho se qualificam para frete gratuito. Anteriormente, quando um subconjunto de itens no carrinho se qualificava para envio gratuito, o aplicativo não ajusta o preço do envio e exibia o preço total do envio ao comprador.
  • Os administradores restritos a um site específico agora podem criar uma remessa para um pedido feito no mesmo site. Anteriormente, o aplicativo gerava essa exceção quando um administrador sem permissão para o modo de exibição de loja padrão tentava enviar um pedido que foi colocado em um modo de exibição de loja ao qual o administrador tinha acesso: Notice: Undefined offset: 1 in /app/code/Magento/Catalog/Model/Product/Attribute/Backend/GroupPrice/AbstractGroupPrice.php on line 293.
  • O aplicativo agora leva em conta os descontos relevantes da regra de preço do carrinho ao determinar se um pedido atende às condições para frete gratuito da DHL.
  • As etiquetas de remessa agora usam a moeda base como esperado em vez da moeda do pedido para lojas que suportam várias moedas quando um pedido é colocado em uma moeda não base. GitHub-31891
  • O aplicativo agora exibe o subtotal correto do pedido quando um comprador retorna à página do carrinho durante o checkout após sair da página de vários envios. GitHub-31889
  • A edição de informações de faturamento durante a criação do pedido de Admin não altera mais as informações de envio de clientes com endereços de envio e faturamento padrão diferentes. GitHub-31786
  • O aplicativo não desmarca mais a caixa de seleção Anexar comentários quando um comprador clica em Obter métodos e taxas de envio e seleciona um método de envio ao criar um pedido com o Administrador. GitHub-30256
  • Os compradores agora podem usar o botão Voltar do navegador para retornar à página Selecionar método de envio ao fazer check-out de um pedido com vários endereços. Anteriormente, o aplicativo exibia a página Selecionar método de envio corrompida. GitHub-30268
  • A quantidade do produto agora permanece inalterada conforme esperado depois que um comprador altera a quantidade na página Enviar para vários endereços e clica no botão Voltar do navegador. GitHub-31956
  • Os encargos do método de envio com taxa uniforme não se tornam mais zero quando uma regra de preço do carrinho é aplicada durante a finalização da compra. GitHub-21832
  • O aplicativo não emite mais um erro quando um comerciante tenta enviar um pedido usando DHL quando a caixa de seleção Criar rótulo de remessa está habilitada e o nome do produto contém caracteres unicode. Anteriormente, o aplicativo exibia este erro ao solicitar a criação do rótulo: The response is in wrong format. GitHub-31032
  • Você pode fazer um pedido com êxito do Administrador em uma implantação multissite na qual o United States está habilitado em um site e o Disable all countries está habilitado como escopo padrão no outro site. Anteriormente, o aplicativo não colocava o pedido e exibia este erro: Please check the shipping address information. "regionId" is required. Enter and try again. GitHub-30577

Estágios

  • O recurso Agendar atualização de bloco agora funciona conforme esperado em implantações que implementam o Fastly. Anteriormente, o aplicativo não atualizava o conteúdo do bloco porque as tags de cache do Fastly não eram invalidadas e o Fastly continuou a fornecer conteúdo desatualizado.
  • A pré-visualização do preparo da regra de preço do carrinho agora é carregada no site apropriado quando atribuída a várias exibições de loja do site. Anteriormente, a pré-visualização do preparo da regra de preço do carrinho era carregada na exibição de loja padrão, independentemente dos sites atribuídos.
  • Preços especiais para produtos na exibição de loja não padrão agora são definidos como o valor padrão, conforme esperado, após o término de uma atualização agendada.
  • Os comerciantes agora podem salvar com êxito um produto baixável com uma amostra vinculada da página de produto baixável depois de criar uma atualização de preparo futura com uma data de término. Anteriormente, o aplicativo não salvava o produto e exibia esta mensagem: The downloadable sample isn't related to the product. Verify the link and try again. GitHub-488
  • O aplicativo não executa mais grandes consultas de banco de dados que incluem todas as IDs de produto durante a pré-visualização de uma atualização programada de uma categoria. Em vez disso, o filtro de categoria é aplicado à coleção de produtos para criar uma tabela temporária para pré-visualizações da categoria. Anteriormente, o aplicativo inseria todos os produtos em uma tabela temporária para a pré-visualização de preparo, o que degradava o desempenho.
  • O módulo Magento_SalesRuleStaging não dispara mais erros durante a atualização da versão 2.3.x.
  • O aplicativo agora exibe as condições da regra de catálogo com dados corretos quando você exibe uma atualização de programação. Anteriormente, se você visualizava uma atualização de agendamento criada com condições, o aplicativo não exibia condições ou exibia condições com dados incorretos.
  • A caixa de seleção Usar valor padrão para um produto permanece marcada depois que uma atualização agendada é desmarcada antes da atualização.
  • As regras de preço de catálogo agora se aplicam conforme esperado a produtos com valores de atributo indefinidos. Anteriormente, os descontos criados por meio de uma regra de preço de catálogo não eram aplicados a produtos com atributos indefinidos. GitHub-461
  • Agora as regras do catálogo funcionam conforme esperado em implantações de vários sites com lojas em diferentes fusos horários. Anteriormente, o aplicativo aplicava ou desativava regras de catálogo em todos os sites de uma só vez.
  • Os preços de nível não são mais removidos quando uma atualização programada é criada para um site específico.
  • Agora é possível salvar um produto na página Produto baixável depois de criar uma atualização de preparo futura com uma data de término. Anteriormente, o aplicativo não salvava o produto e exibia esta mensagem: The downloadable link isn't related to the product. Verify the link and try again. GitHub-474

Loja

  • O aplicativo não trata mais uma cadeia de caracteres de 0 como um valor vazio ao exibir uma home page de repositório. Anteriormente, o aplicativo tratava um valor inteiro no início de um caminho de solicitação como uma ID de loja, o que tinha efeitos não intencionais no SEO.
  • Os plug-ins para \Magento\Framework\App\ActionInterface em lib/internal/Magento/Framework/App/Action/Plugin foram removidos para manter a diretriz de que os plug-ins devem ser usados para personalizar o comportamento de um módulo a partir de outro módulo. GitHub-28050
  • O aplicativo agora exibe esta mensagem quando você tenta selecionar Website como padrão quando Store View é desabilitado durante a criação do site: Please enable your Store View before using this Web Site as Default. Anteriormente, o site travava e o aplicativo não exibia um alerta.

Imposto

  • O aplicativo agora leva em conta o imposto oculto durante a validação do valor mínimo do pedido.
  • O aplicativo agora exibe Impostos de produto fixos (FPT) conforme esperado quando um comprador navega de volta para o carrinho de compras e prossegue para o checkout após adicionar produtos de pacote ao carrinho. GitHub-30250
  • O aplicativo agora preenche os campos de entrada Número IVA para os endereços de faturamento e de envio da seção Informações de Endereço da página Novo pedido de administrador com números IVA salvos quando um administrador cria um pedido para um cliente existente. GitHub-31846
  • O aplicativo agora exibe um campo Número de IVA na página de registro do cliente quando customer/create_account/vat_frontend_visibility está habilitado. GitHub-31326

Teste

  • Os ambientes de teste foram atualizados para Redis 6.0.12.
  • CacheCleaner::cleanAll(); removido dos testes de integração. GitHub-31074
  • Adição de um teste para esse cenário: os usuários administradores podem editar uma conta de cliente quando o cliente é inscrito em um boletim informativo na fila. GitHub-30645
  • Removido o comando cache:flush dos testes para melhorar o tempo de execução dos módulos Catalog, CatalogUrlRewrite e LoginAsCustomer. GitHub-31056
  • Parâmetros redundantes foram removidos e o POST foi alterado para GET onde necessário em \Magento\Logging\Model\ProcessorTest::testLoggingProcessorLogsActionShipping.

Tema

  • A página de logon do cliente não exibe mais esta mensagem quando a configuração Mover código JS para a parte inferior da página (Armazenamento > Configurações > Avanço > Desenvolvedor > Configurações do JavaScript) e os cookies estão habilitados: The store will not work correctly in the case when cookies are disabled.
  • Os links de conta nos cabeçalhos agora seguem os padrões da WCAG. Anteriormente, os links de conta nos cabeçalhos continham IDs duplicadas, o que causava a falha da validação da WCAG.
  • O aplicativo agora prioriza a configuração da loja para uma imagem de logotipo da loja em relação à configuração de layout. Anteriormente, o tamanho das imagens de logotipo era fixo e não variava de acordo com o armazenamento.
  • O aplicativo agora exibe elementos de página de forma consistente nas páginas da loja que usam temas padrão do Adobe Commerce. Anteriormente, nem todos os estilos eram aplicados no tema em branco, portanto, nem todos os elementos da página eram exibidos nas páginas que usavam esse tema. (Por exemplo, nenhum ícone de lente de aumento estava presente no campo de pesquisa da página Meus pedidos.)

Tradução e códigos de idiomas

  • Os colchetes adicionados às cadeias de caracteres não são mais escapados quando a tradução em linha está configurada. Anteriormente, o método escapeHtmlAttr convertia os colchetes em códigos de entidade HTML. GitHub-32000
  • As frases intraduzíveis no Admin agora podem ser traduzidas. (Essa solicitação de pull contribui para esforços contínuos para tornar todas as sequências de caracteres de Administrador localizáveis.) GitHub-11175
  • As cadeias de texto no modelo usadas para gerenciar métodos de pagamento armazenados (Minha Conta > Métodos de Pagamento Armazenados ) agora podem ser traduzidas. GitHub-31211
  • Os emails de pedidos enviados pelo administrador agora usam o local da loja, não o local associado à conta do administrador. GitHub-26521

IU

  • O rodapé do Administrador agora exibe a versão correta do produto.
  • A paginação para origens agora está presente, conforme esperado, durante a criação da remessa do Administrador.
  • O filtro de grade de produto agora funciona corretamente quando você usa atributos de data personalizados para filtrar produtos e a localidade do usuário Admin é en_GB.
  • Os gestos de pinçar para zoom agora funcionam como esperado na lente de aumento da galeria de imagens da página do produto em dispositivos iOS.
  • A paginação dos resultados de pesquisa da grade de produto do administrador agora começa na página um para cada pesquisa, conforme esperado.
  • As anomalias com a exibição do carrinho de compras quando ampliadas foram resolvidas. Anteriormente, os elementos de exibição se sobrepunham quando esta página era ampliada.
  • Problemas de alinhamento com as guias da página de convites de Administrador (Admin Marketing > Vendas Particulares > Convites) foram resolvidos. Anteriormente, a exibição de guia dos convites aceitos por um cliente estava desalinhada. GitHub-333
  • A página de revisão do pedido exibida durante o check-out com o Check-out expresso do PayPal agora é carregada com sucesso. Anteriormente, o modelo continha o botão Atualizar método de entrega não utilizado, que estava apenas parcialmente oculto pelo script durante a renderização da página. GitHub-32006
  • As estrelas de classificação e o texto de revisão na seção Revisões do cliente da página do produto agora ficam espaçados corretamente quando nomes de classificação longos estão presentes. GitHub-31890
  • As opções agora são exibidas conforme esperado na lista suspensa Ações nas páginas Arquivar NFFs, Entregas e Avisos de Crédito.
  • O aplicativo agora exibe um valor de hora correto quando a opção timeOnly do componente datetime está definida como sim. GitHub-23157
  • Agora você pode remover uma atualização de layout após criar um novo widget em Admin Conteúdo > Widgets. GitHub-29936
  • O botão Remover Atualização de Layout agora funciona conforme esperado em qualquer layout adicionado do Administrador Conteúdo > Widgets. Anteriormente, esse botão não funcionava em nenhum layout diferente do primeiro selecionado ao adicionar vários layouts. GitHub-30286
  • O aplicativo agora usa o título de página definido no arquivo de layout como o título da página do navegador para o arquivo de Edição de conta do cliente. Anteriormente, a ação do controlador Magento\Customer\Controller\Account\Edit impunha o valor do título da página para Account Information. GitHub-30724
  • As caixas de seleção que permitem aos comerciantes alternar entre mostrar e ocultar senhas foram adicionadas a estas páginas:

    • Logon do cliente
    • Registro do cliente
    • Edição de Cliente (seção Alterar Senha)
    • Nova senha definida pelo cliente GitHub-31557
  • Removido um cabeçalho redundante nas células de grade que aparecia quando um administrador adicionava um produto a um conjunto de produtos agrupado após alterar o conjunto de atributos. GitHub-30911
  • O aplicativo agora exibe um filtro DateRange na área Logon da página Cliente > Logon. Anteriormente, o aplicativo exibia um filtro Text. GitHub-30328
  • O JavaScript foi removido dos arquivos de modelo e movido para arquivos separados para reduzir os problemas de renderização nas páginas de Administrador. Anteriormente, as páginas de Administração não eram renderizadas corretamente em implantações nas quais a minificação de HTML tinha sido habilitada. O aplicativo exibiu este erro: An error has happened during application run. See exception log for details. GitHub-32454
  • O widget dropdownDialog agora carrega somente as jquery-ui partes arrastáveis e redimensionáveis de que necessita. Anteriormente, carregava grandes quantidades de código desnecessário, o que aumentava o tempo de carregamento e reduzia o desempenho. GitHub-32810

Substituições de URL

  • As substituições de URL de produto para um site específico em uma implantação multissite agora são geradas conforme esperado depois que os produtos são atribuídos a um site por atualização em massa.
  • O aplicativo agora gera corretamente o caminho da URL para categorias secundárias quando a caixa de seleção Usar valor padrão da chave de URL está habilitada para a categoria principal. Anteriormente, mover uma categoria na hierarquia resultava em um valor url_path incorreto ao usar chaves de URL diferentes em uma implantação de exibição de vários armazenamentos. GitHub-16202
  • O aplicativo agora atualiza o url_path da categoria atribuída a todo o escopo de armazenamento quando você move uma categoria na hierarquia de categorias. Anteriormente, mover uma categoria na hierarquia resultava em um url_path incorreto.
  • Agora, os redirecionamentos de URL criados pelo Administrador usando um URL personalizado funcionam com sucesso. Anteriormente, o GraphQL armazenava a resposta em cache de uma consulta do GraphQL urlResolver e retornava o valor antigo após a atualização de regravação da URL.
  • As substituições de URL de produto agora são removidas conforme esperado quando um produto é removido de um site. GitHub-24184
  • Adicionada uma referência main_table a store_id na função addStoreFilter da coleção app/code/Magento/UrlRewrite/Model/ResourceModel/UrlRewriteCollection.php. Anteriormente, ocorriam problemas sempre que um join era adicionado à coleção em uma tabela que também continha uma coluna store_id. GitHub-31853
  • O ponto de extremidade REST PUT /V1/products/:sku agora gera novamente as substituições de URL do produto, conforme esperado. Anteriormente, o ponto de extremidade gerou novamente os valores do produto url_key, mas não substituiu a URL. GitHub-30316

Usuário

  • Agora você pode salvar uma nova função de usuário efetiva (Admin Sistema > Permissões > Funções de Usuário) com toda a árvore Catalog selecionada, exceto Edit Product Design ( Catálogo > Inventário > Produtos > Editar Design de Produto). Anteriormente, o aplicativo não salvava alterações de produto feitas por um usuário nesta função e exibia este erro: Not allowed to edit the product's design attributes. GitHub-31973
  • O aplicativo agora usa o modelo de email personalizado correto ao gerar emails para novos administradores. Anteriormente, o aplicativo usava o antigo modelo padrão, que omitia o nome e o sobrenome do administrador.
  • O aplicativo agora usa o modelo de email correto ao enviar emails para novos usuários. Anteriormente, o aplicativo usava o modelo padrão mesmo quando um modelo personalizado era selecionado.

VersionCMS

  • O aplicativo agora aplica o tema correto a uma página CMS depois que você altera seu layout. Anteriormente, o aplicativo alterava o tema atribuído ao Luma após salvar as alterações de layout, independentemente do tema atribuído à página.
  • Os administradores com funções restritas agora podem adicionar, atualizar ou duplicar com êxito as páginas às quais têm acesso atribuídas a um nó de hierarquia. Anteriormente, o aplicativo exibia um erro fatal sob essas condições.

Vídeo

  • Os vídeos agora estão disponíveis na galeria de produtos, conforme esperado, quando o agrupamento avançado do JavaScript é ativado e usado. GitHub-32501
  • Os vídeos do YouTube para produtos simples que pertencem a um produto configurável agora funcionam conforme esperado. Anteriormente, as imagens eram ordenadas por ID em vez da posição. Consequentemente, alguns vídeos foram tratados como imagens. GitHub-29690

Visual Merchandiser

  • O desempenho das cargas da página de categoria de Administrador com o Visual Merchandiser melhorou. O carregamento de páginas de categoria de Administrador não gera mais grandes consultas de banco de dados.

Estrutura da API da Web

  • A API do catálogo agora atualiza corretamente os valores de opção personalizados de um produto adicionando novos valores e removendo valores antigos. Anteriormente, a API não excluía os valores antigos.
  • O POST /V1/guest-carts/:cartId/billing-address agora retorna a ID do endereço como um inteiro, não uma sequência de caracteres.

Restrição de site

  • Os compradores agora são redirecionados para a página que estavam tentando acessar antes de serem solicitados a fazer logon. Anteriormente, nas implantações em que as restrições de site eram habilitadas e o Modo de Restrição estava definido como Vendas Privadas: Somente Logon, os compradores eram redirecionados para a home page da loja.

Widget

  • Agora, um administrador pode excluir todas as atualizações de layout de um widget. Anteriormente, quando um widget tinha várias atualizações de layout, um administrador podia excluir apenas o primeiro.
  • Clicar no botão Adicionar ao carrinho no widget do produto não resulta mais em um recarregamento de página. Anteriormente, clicar no botão Adicionar ao carrinho em um widget de produto fazia com que a página atual fosse recarregada antes de o produto ser adicionado ao carrinho.
  • O widget de link do nó de hierarquia do CMS no TinyMCE agora renderiza links de hierarquia conforme esperado quando o campo Texto personalizado de âncora está vazio.

Lista de desejos

  • O aplicativo não redefine mais as configurações de um produto definível quando você clica no botão Editar item para o produto de uma lista de desejos. GitHub-32119
  • O aplicativo agora exibe o preço correto do produto ao atualizar um produto com uma opção de arquivo personalizável na lista de desejos. Anteriormente, o aplicativo exibia o preço incorreto do produto e não exibia um link para o arquivo carregado.
  • A contagem total de produtos em uma lista de desejos para um cliente com várias listas de desejos agora corresponde ao número de itens na lista de desejos. Anteriormente, os produtos indisponíveis eram incluídos na contagem total de produtos.
  • O aplicativo agora remove um produto de uma lista de desejos depois de adicioná-lo a um pedido. GitHub-30260
  • Os compradores agora podem adicionar produtos relacionados ao carrinho de compras de uma lista de desejos. Anteriormente, o aplicativo adicionava somente o produto configurável, não o produto configurável e seus produtos relacionados, quando um comprador clicava no link Selecionar tudo da seção Produtos Relacionados. GitHub-32274

Problemas conhecidos

Problema: erro do JavaScript quando o reCAPTCHA está desabilitado. Se o reCAPTCHA estiver desativado para check-out, o check-out continuará, mas o aplicativo exibirá um erro Uncaught TypeError no log do console. Esse problema será corrigido em uma versão posterior.

Problema: Erro na Política de Segurança de Conteúdo. A loja exibe o seguinte erro no log de console: The Content-Security-Policy directive frame-ancestors does not support the source expression unsafe-inline. O desempenho da vitrine não é afetado.

Problema: Anomalias na exibição de valores de cartão-presente do PayPal Credit. Quando o Crédito do PayPal é ativado e vários valores de cartão-presente são configurados, se um comprador alterar o valor de um cartão-presente, a loja não atualizará o valor dos pagamentos parcelados. Uma correção para esse problema será incluída no Adobe Commerce 2.4.4 e Magento Open Source 2.4.4.

Problema: O botão Adicionar ao pedido ​não funciona para produtos adicionados ao carrinho pelo SKU. o aplicativo exibe esta mensagem de erro quando você clica no botão Adicionar ao pedido depois de adicionar produtos ao pedido por SKU: An error has happened during application run. Os produtos não são adicionados ao carrinho. Solução alternativa: usar o recurso Adicionar Produtos.

Problema: as consultas category e categoryList do GraphQL ignoram permissões de Categoria que determinam se as categorias em um catálogo compartilhado estão ocultas ou expostas. Atualmente, a loja exibe todas as categorias que foram atribuídas ou não ao catálogo compartilhado. Isso afeta as implantações do Adobe Commerce 2.4.3 que implementam uma vitrine de PWA para a qual catálogos compartilhados B2B foram ativados.

Contribuições da Comunidade

Estamos gratos à comunidade Magento Open Source mais ampla e gostaríamos de reconhecer suas contribuições para esta versão.

A equipe de Engenharia da Comunidade Magento Contributors mantém uma lista dos principais colaboradores individuais e parceiros por mês, trimestre e ano. Nessa página de Contribuidores, você pode seguir os links para as PRs mescladas no GitHub.

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, a 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
Atwix
magento/magento2#31228, magento/magento2#31025, magento/magento2#30996, magento/magento2#31128, magento/magento2#31053, magento/magento2#30837}, magento/magento2#31433, magento/magento2#31079, magento/magento2#31013, magento/magento2#31261, magento/magento2#31016, 🔗 2}magento/magento2#30986🔗, magento/magento2#31241, magento/magento2#31243, magento/magento2#31221, magento/magento2#31123, magento magento2#31147, magento/magento2#31097, magento/magento2#31287, magento/magento2#31099, magento/magento2#31420, magento/magento2#3 1320, magento/magento2#30776, magento/magento2#31564, magento/magento2#31827, magento/magento2#31592, magento/magento2#316 34, magento/magento2#31436, magento/magento2#31371, magento/magento2#31323, magento/magento2#31057, magento/magento2#31009 🔗, magento/magento2#31595, magento/magento2#31452, magento/magento2#31458, magento/magento2#31487, magento/magento2#31418, 74}magento/magento2#31240, magento/magento2#31603, magento/magento2#31601, magento/magento2#31394, magento/magento2#31247, magento magento/magento2#31508, magento/magento2#31449, magento/magento2#31776, magento/magento2#31788, magento/magento2#29047, magento/partners-magento ento2ee#280, magento/magento2#32071, magento/magento2#31936, magento/magento2#31924, magento/magento2#31918, magento /magento2#31859, magento/magento2#31864, magento/magento2#31604, magento/magento2#31510, magento/magento2#31512 magento/magento2#31502, magento/magento2#31488, magento/magento2#31454, magento/magento2#31507, magento magento2#31164, magento/magento2#31568, magento/magento2#31569, magento/magento2#31851, magento/magento2#32078 31}, magento/magento2#31953, magento/magento2#31961, magento/magento2#30850, magento/magento2#31395, magento/magento ento2#31390, magento/magento2#31451, magento/magento2#32467, magento/magento2#32477, magento/magento2#32524 magento/magento2#32517, magento/magento2#32463, magento/magento2#32498, magento/magento2#32288, magento/magento 2#32353, magento/magento2#32539, magento/magento2#32465, magento/magento2#32295, 🔗magento/magento2#32759🔗 7}, magento/magento2#31938, magento/magento2#32356, magento/magento2#30623, magento/partners-magento2ee#539, magento/partners-magento2ee#540
magento/magento2#31233, magento/magento2#31031, magento/magento2#31056, magento/magento2#31130, magento/magento2#31074, 🔗magento/magento2#30858🔗}, magento/magento2#31438, magento/magento2#31160, magento/magento2#31034, magento/magento2#31168, magento/magento2#31033, 2}magento/magento2#31039, magento/magento2#31250, magento/magento2#31249, magento/magento2#31234, magento/magento2#31129, magento magento2#31153, magento/magento2#31132, magento/magento2#31290, magento/magento2#31131, magento/magento2#31440, magento/magento2#3 1327, magento/magento2#30784, magento/magento2#31575, magento/magento2#31844, magento/magento2#31628, magento/magento2#316 47, magento/magento2#31437, magento/magento2#31442, magento/magento2#31325, magento/magento2#31073, magento/magento2#31036 , magento/magento2#31627, magento/magento2#31632, magento/magento2#31522, magento/magento2#31521, magento/magento2#31441, 74}magento/magento2#31251, magento/magento2#31624, magento/magento2#31626, magento/magento2#31403, magento/magento2#31248, magento ento/magento2#31516, magento/magento2#31524, magento/magento2#31801, magento/magento2#28522, magento/partners-magento2ee#28586, magento partners-magento2ee#31435, magento/partners-magento2ee#31560, magento/partners-magento2ee#31561, magento/magento2#32072, magento/magento2#31937 magento/magento2#31902, magento/magento2#31860, magento/magento2#31865, magento/magento2#31623, magento/magento 2#31515, magento/magento2#31514, magento/magento2#31519, magento/magento2#31520, magento/magento2#31517 1}, magento/magento2#31075, magento/magento2#31574, magento/magento2#31573, magento/magento2#31852, magento/magento2/magento#32079, magento/magento2#31954, magento/magento2#31962, magento/magento2#30855, magento/magento2#30645}, magento/magento2#31523, magento/magento2#32505, magento/magento2#32504, magento/magento2#32583, magento/magento2 32518, magento/magento2#32507, magento/magento2#32569, magento/magento2#32502, magento/magento2#32379 , magento/magento2#32279, magento/magento2#32568, magento/magento2#32506, magento/magento2#32377, 4/magento2#451, magento/magento2#32577, magento/magento2#29631, magento/magento2#30210, magento/partners-magento2ee#32574, magento/partners-magento2ee#32928
Blue Acorn iCi
magento/magento2#31022, magento/magento2#28926, magento/magento2#30992, magento/magento2#30881, magento/magento2#30938, magento/magento2#31621}
magento/magento2#30265, magento/magento2#29528, magento/magento2#30286, magento/magento2#30880, magento/magento2#29690, magento/magento2#27678}
Cedcommerce
magento/magento2#30410, magento/partners-magento2ee#444, magento/magento2#31736, magento/magento2#31584, magento/partners-magento2ee#449
magento/magento2#30424, magento/partners-magento2ee#31111, magento/magento2#31660, magento/partners-magento2ee#31331
Krish TechnoLabs
magento/magento2#31142, magento/magento2#29991, magento/magento2#31208, magento/magento2#29804
magento/magento2#30911, magento/magento2#29936, magento/magento2#31188, magento/magento2#29365, magento/magento2#29805
EY
magento/magento2#31369, magento/magento2#30615, magento/magento2#31490, magento/partners-magento2ee#445
magento/magento2#4451, magento/magento2#29302, magento/partners-magento2ee#31196
TechDivision
magento/magento2#30943
magento/magento2#30936
AYKO
magento/magento2#32389
magento/magento2#32088
Gato Branco Rápido
magento/magento2#31157, magento/magento2#31886
magento/magento2#30724, magento/magento2#30471
Olho de peixe
magento/magento2#30695
magento/magento2#30788
Vaimo
magento/magento2#30626
magento/magento2#30622
Zifity
magento/partners-magento2ee#451, magento/magento2#31482
magento/magento2#31557
COMMERCE MRM
magento/magento2#32612, magento/magento2#32610
magento/magento2#32578, magento/magento2#32658
Consultoria em alinhamento
magento/magento2#30910
magento/magento2#30909

Contribuições individuais do contribuinte

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

Membro da comunidade contribuinte
Solicitações Pull
Problemas relacionados do GitHub
dhaecker
#31045
sagar1dahiwala
#31101
501
zaximus84
#31022
30265
ihor-sviziev
#31151
31152
AnnaAPak
#31079
31160
AnnaAPak
#31013
31034
alinhamento-lturner
#30910
30909
thomas-kl1
#30822
30830
gwharton
#30868
28511
hub-céu
#30953
30952
pawel-siejba
#30626
30622
Chandresh22
#30477
30270
matiashidalgo
#28926
29528
shawnabramson
#27845
26909
engcom-Golf
#31189
31090
engcom-Echo
#31066
31095
vovayatsyuk
#31275
31291
sergiy-v
#31228
31233
korovitskyi
#31261
31168
zaximus84
#30881
30880
sergiy-v
#30996
31056
AnnaAPak
#31016
31033
AnnaAPak
#30986
31039
sergiy-v
#31025
31031
zaximus84
#30992
30286
ilnytskyi
#31098
31135
saphaljha
#31142
30911
saphaljha
#29991
29936
AnnaAPak
#31147
31153
sergiy-v
#31128
31130
DmitryFurs
#31165
31239
AnnaAPak
#31221
31234
AnnaAPak
#31241
31250
AnnaAPak
#31243
31249
AnnaAPak
#31123
31129
Usik2203
#30837
30858
AnnaAPak
#31097
31132
Usik2203
#31053
31074
vpsnak
#31021
31032
mrtuvn
#30634
30584
driskell
#28007
8933, 18409, 22438, 23054, 25634, 26507, 26809
AnnaAPak
#31287
31290
AnnaAPak
#31099
31131
GovindaSharma
#30410
30424
kate-kyzyma
#31433
31438
AnnaAPak
#31420
31440
DmitryFurs
#31166
31171
Bartlomiejsz
#31157
30724
elisei
#31212
31211
nikolalardev
#30959
31040
kandy
#30990
31038
viniciusbordinhao-blueacorn
#30938
29690
engcom-Golf
#31368
30964
SmVladyslav
#31352
30284
SmVladyslav
#31422
30256
mrtuvn
#31330
31445
sergiy-v
#31320
31327
AnnaAPak
#31436
31437
AnnaAPak
#31371
31442
aleksinoleg
#31334
31471
vovayatsyuk
#31162
31170
sessão
#31198
31197
AnnaAPak
#31323
31325
AnnaAPak
#31057
31073
Usik2203
#30776
30784
Nazar65
#31308
31288
AnnaAPak
#31009
31036
engcom-Golf
#31563
30250
engcom-Golf
#31594
23843
AnnaAPak
#31452
31632
sergiy-v
#31564
31575
AnnaAPak
#31595
31627
ihor-sviziev
#31542
engcom-Kilo
#31629
31591
engcom-Echo
#31501
26214
engcom-Echo
#31553
22662
AnnaAPak
#31240
31251
chiranjeevi-cj
#31369
AnnaAPak
#31418
31441
AnnaAPak
#31458
31522
AnnaAPak
#31487
31521
AnnaAPak
#31601
31626
AnnaAPak
#31603
31624
AnnaAPak
#31394
31403
vovayatsyuk
#31321
31326
AnnaAPak
#31247
31248
saphaljha
#31208
31188
aapokiiso
#30950
31042
nikunjkotecha
#21857
21853
engcom-Kilo
#31646
11995
mrtuvn
#31793
7231
navarr
#31621
27678
kate-kyzyma
#31827
31844
sergiy-v
#31592
31628
sergiy-v
#31634
31647
mrtuvn
#31754
30506
AnnaAPak
#31508
31516
AnnaAPak
#31449
31524
nikolalardev
#31158
31169
AnnaAPak
#31488
31520
AnnaAPak
#31454
AnnaAPak
#31510
31515
AnnaAPak
#31502
31519
AnnaAPak
#31512
31514
engcom-Charlie
#31485
25907
AnnaAPak
#31604
31623
MellenIO
#31636
31641
AnnaAPak
#31507
31517
sergiy-v
#31788
31801
sergiy-v
#31776
mrtuvn
#30871
30882
PierW
#31299
31300
larsroetting
#30943
30936
edspc
#30883
31530
ravi-chandra3197
#29804
29365, 29805
dineshvb
#30615
29302
victorpetryk
#31892
31890
engcom-Echo
#31957
31891
shikhamis11
#31736
31660
SmVladyslav
#32120
32119
victorpetryk
#32107
32106
sergiy-v
#31859
31860
sergiy-v
#31864
31865
engcom-Charlie
#31875
26521
achatpc
#31815
31853
sergiy-v
#31936
31937
sergiy-v
#31924
31902
kate-kyzyma
#31918
engcom-Charlie
#32095
28996
sergiy-v
#32071
32072
AnnaAPak
#31569
31573
AnnaAPak
#31568
31574
maksymz
#31804
11175, 31873
engcom-Hotel
#31750
30802
dorupetruc
#31205
31216
rain2o
#27315
12584
engcom-Kilo
#32217
27285
engcom-Kilo
#32239
31950
mastiuhin-olexandr
#32002
32000
engcom-Charlie
#32009
30316
sergiy-v
#32078
32079
engcom-Charlie
#32082
23297
Den4ik
#32187
31608
ihor-sviziev
#32299
32313
fnogatz
#32249
32262
Bartlomiejsz
#31886
30471
sergiy-v
#31953
31954
ihor-sviziev
#31933
31948
sergiy-v
#31851
31852
AnnaAPak
#31451
31523
AnnaAPak
#31390
30645
AnnaAPak
#31395
engcom-Charlie
#31645
30492
AnnaAPak
#30850
30855
ajithkumar-maragathavel
#31482
31557
edenduong
#30329
30328
SmVladyslav
#32275
32274
engcom-Kilo
#32301
32232
engcom-Kilo
#32326
31849
engcom-Kilo
#32363
30149
ihor-sviziev
#32462
26377, 32440
gixid192
#32393
30257
gixid192
#32398
31633
engcom-Charlie
#32212
30756
engcom-Charlie
#32186
32116
sergiy-v
#31961
31962
engcom-Charlie
#32273
17727
mamsincl
#32389
32088
bogutsky
#30755
30577
AntonEvers
#28973
29549
zakdma
#32580
27656
engcom-Kilo
#32650
31956
mastiuhin-olexandr
#32194
32102
quisse
#27012
22273
sivaschenko
#32710
32709
hostep
#32639
32644
engcom-Foxtrot
#32646
32647
engcom-Charlie
#32254
19345
Espirro de Crânio
#32298
32671
kate-kyzyma
#32288
32379
na sessão
#32400
32495
mrtuvn
#32434
32454
ihor-sviziev
#32532
27411, 32525
kate-kyzyma
#32498
32502
kate-kyzyma
#32463
32507, 32569
sergiy-v
#32517
32518
kate-kyzyma
#32524
32583
kate-kyzyma
#32477
32504
kate-kyzyma
#32467
32505
charles-tychons
#32448
32616
bgorski
#32612
32578
bgorski
#32610
32658
ProkopovVitaliy
#31938
32577, 4451
mrtuvn
#31080
31140
forrado
#30695
30788
thomas-kl1
#30823
30860
engcom-Kilo
#32730
23645
kate-kyzyma
#32465
32506
ihor-sviziev
#32499
32501
kate-kyzyma
#32539
32568
Usik2203
#32353
32279
vlmed
#32356
martasiewierska
#32802
32810
DmitryTsymbal
#32759
hostep
#32145
32786
engcom-Foxtrot
#32099
32100
erfanimani
#31985
31984
kate-kyzyma
#32295
32377
vidyli
#31296
24635
engcom-Kilo
#32755
24363
ihor-sviziev
#32614
31777, 826
rogyar
#30623
29631, 30210

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.3 usando o Composer.

Kits de ferramenta de migração

A Ferramenta de migração de dados ajuda a transferir os dados de armazenamento existentes do Magento 1.x para o Magento 2.x. Essa interface de linha de comando inclui funções de verificação, rastreamento de progresso, registro e teste. Para obter instruções de instalação, consulte Instalar a Ferramenta de Migração de Dados. Considere explorar ou contribuir para o repositório de Migração de Dados.

O Kit de Ferramentas de Migração de Código ajuda a transferir as extensões e personalizações do armazenamento do Magento 1.x existente para o Magento 2.x. A interface de linha de comando inclui scripts para converter módulos e layouts do Magento 1.x.

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