Notas de versão do Magento Open Source 2.4.4

Magento Open Source 2.4.4 introduz suporte para o PHP 8.1. Todas as bibliotecas e dependências do projeto foram atualizadas para compatibilidade com o PHP 8.1. As dependências do Core Composer e bibliotecas de terceiros também foram atualizadas para as versões mais recentes que são compatíveis com o PHP 8.1. Esta versão também oferece suporte ao OpenSearch 1.2.

Essa versão inclui quase 250 correções de qualidade e melhorias.

NOTE
Obrigado ao nosso parceiro Atwix por suas contribuições substanciais para tornar nossa estrutura 2.4.4 compatível com o PHP 8.1.
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.

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.

Outras informações sobre a versão

Embora o código para esses recursos esteja incluído nas versões trimestrais do código principal do Magento Open Source, vários desses projetos 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.

NOTE
Todas as extensões agrupadas pelo fornecedor, com exceção do Braintree, foram removidas do Magento Open Source 2.4.4.
NOTE
O Composer 2.2 apresentou um recurso de segurança que requer que os comerciantes identifiquem plug-ins confiáveis em seus arquivos composer.json antes que os plug-ins sejam executados. Atualmente, os plug-ins incluídos no arquivo composer.json, mas não marcados como confiáveis, são instalados automaticamente. No entanto, a partir de julho de 2022, o Composer não carregará plug-ins, a menos que eles tenham sido explicitamente permitidos. Consulte o artigo Problemas com plug-ins do Composer durante a atualização para a Base de Dados de Conhecimento do Adobe Commerce 2.4.4 para obter instruções sobre como modificar o arquivo composer.json para permitir explicitamente o carregamento de plug-ins.

Hotfixes incluídos nesta versão

O Magento Open Source 2.4.4 inclui a resolução de todos os problemas abordados pelos seguintes hotfixes, que foram fornecidos para o Adobe Commerce e para o Magento Open Source 2.4.3, 2.4.3-p1 e 2.3.7-p2:

  • A vulnerabilidade abordada por MDVA-43395_EE_2.4.3-p1_COMPOSER_v1.patch e MDVA-43443_EE_2.4.3-p1_COMPOSER_v1.patch foi resolvida nesta versão.

  • AC-384_Fix_Incompatible_PHP_Method__2.4.3_ce.patch. Este patch resolve um erro fatal de PHP que ocorreu durante a atualização. Consulte o artigo da Base de Dados de Conhecimento Adobe Commerce upgrade 2.4.3, 2.3.7-p1 PHP Fatal error Hotfix.

destaques do Magento Open Source 2.4.4

Procure os seguintes destaques nesta versão.

Aprimoramentos de segurança

Esta versão inclui uma correção de segurança e melhorias na segurança da plataforma. Essa correção de segurança teve backport para o Magento Open Source 2.4.3-p2 e Magento Open Source 2.3.7-p3.

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

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

Aprimoramentos adicionais de segurança

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

  • O uso da variável de email foi descontinuado na versão 2.3.4 como parte de uma mitigação de risco de segurança em favor de uma sintaxe de variável mais estrita. Esse comportamento herdado foi totalmente removido nesta versão como uma continuação dessa mitigação de riscos de segurança.

    Como resultado, os modelos de email ou de informativo que funcionavam nas versões anteriores do Magento Open Source podem não funcionar corretamente após a atualização para o Adobe Commerce 2.4.4 ou Magento Open Source 2.4.4. Os modelos afetados incluem substituições de administrador, temas, temas secundários e modelos de módulos personalizados ou extensões de terceiros. Sua implantação ainda pode ser afetada mesmo após o uso da Ferramenta de compatibilidade de atualização para corrigir usos obsoletos. Consulte Migrando modelos de email personalizados para obter informações sobre os possíveis efeitos e diretrizes da migração de modelos afetados.

  • Os tokens de integração não podem mais ser usados para autenticação de token do portador da API. Anteriormente, um token de integração podia ser usado como uma chave independente para autenticação baseada em token. No entanto, esse comportamento foi desativado por padrão devido às implicações de segurança de um token de acesso que nunca expira. O comportamento anterior pode ser ativado por meio da linha de comando ou do Administrador. Consulte Autenticação baseada em token.

  • As IDs de sessão não são mais armazenadas no banco de dados.

  • Os tokens de acesso OAuth e os tokens de redefinição de senha agora são criptografados quando armazenados no banco de dados.

  • A validação foi fortalecida para impedir o upload de extensões de arquivo não alfanuméricas.

  • Adição do suporte ao reCAPTCHA aos códigos de cupom.

  • O Swagger agora está desativado por padrão quando o Magento Open Source está no modo de produção.

  • O HTTPS agora está habilitado por padrão para a loja de Magento Open Source. As configurações Usar URLs Seguras na Loja e Usar URLs Seguras no Administrador estão habilitadas por padrão, e todos os cookies internos agora estão definidos como seguros.

  • O plug-in de confusão de dependência agora é necessário para todas as instalações de Magento Open Source. Anteriormente, esse plug-in era necessário somente para instalações baseadas no Composer. Agora, ela permite versões confiáveis. Os comerciantes podem ignorar as restrições definidas neste plug-in que proíbem determinadas combinações de instalações do Composer. As restrições podem ser ignoradas para versões confiáveis e o Magento Open Source agora exibe um aviso antes de continuar a instalação.

  • Os desenvolvedores agora podem configurar o limite de tamanho de arrays aceitos pelos endpoints RESTful do Magento Open Source com base no endpoint. Consulte Segurança de API.

  • Adição de mecanismos para limitar o tamanho e o número de recursos que um usuário pode solicitar por meio de uma API da Web em todo o sistema e para substituir os padrões em módulos individuais. Isso resolve o problema resolvido por MC-43048__set_rate_limits__2.4.3.patch. Consulte Segurança de API.

Aprimoramentos na plataforma

Magento Open Source 2.4.4 agora suporta PHP 8.1. Todas as bibliotecas e dependências do projeto foram atualizadas para compatibilidade com o PHP 8.1. Outras melhorias na plataforma incluem:

  • O Magento Open Source 2.4.4 fornece suporte para o Elasticsearch 7.16 e OpenSearch 1.2. O aplicativo Abrir comerciantes do Source com implantações hospedadas no local pode usar qualquer solução. No entanto, o OpenSearch agora é o mecanismo de pesquisa padrão para implantações do Magento Open Source 2.4.4 hospedadas na nuvem. Todos os clientes com implantações em nuvem que atualizam para a versão 2.4.4 devem usar o OpenSearch. Consulte Alternar para OpenSearch para Adobe Commerce na Nuvem 2.4.4

  • A biblioteca JQuery foi atualizada para a versão 3.6. A biblioteca jquery-ui foi atualizada para a versão 1.13.0. Várias outras bibliotecas do JavaScript foram atualizadas para as versões mais recentes.

  • O TinyMCE 5.8.1 agora é compatível. O TinyMCE 4 foi removido da base de código.

  • A biblioteca RequireJS foi atualizada para a versão mais recente (v2.3.6). GitHub-33672

  • O PHPUnit foi atualizado para a versão mais recente (9.5.x). Os testes e estruturas de teste foram atualizados para serem compatíveis com a nova versão.

  • A maioria das dependências do Laminas foram atualizadas para as versões mais recentes compatíveis com o PHP 8.1. Três dependências do Laminas foram removidas da base de código para reduzir o número de dependências.

Atualização da interface do jQuery

A interface do jQuery foi atualizada para a versão mais recente (v1.13.0). Os seguintes componentes v1.10.0 jQuery foram removidos:

  • Opções de ajaxOptions e cache para guias. Consulte Guias.

  • .zIndex(). jQuery UI v1.12.1 inclui jquery/z-index.js, que oferece suporte ao uso de .zIndex(). Consulte Interface Principal.

  • Fallbacks de dados para nomes de widget. Você deve usar o nome completo da chave .data().

  • A codificação rígida de classes, como ui-corner-all, em widgets.

GraphQL

Esta versão inclui estes aprimoramentos da GraphQL:

  • Melhorias de desempenho:

    • O desempenho das operações do carrinho do GraphQL melhorou. O método collectQuoteTotals() agora é chamado apenas uma vez durante uma solicitação GraphQL, o que reduz o tempo de resposta.

    • O desempenho da vitrine eletrônica foi aprimorado por alterações em como as solicitações do GraphQL são armazenadas em cache. O Fastly e o Varnish agora armazenam em cache as solicitações do GraphQL enviadas com auth tokens.

  • Novas configurações do Administrador relacionadas à vitrine. A consulta storeConfig agora retorna as definições de configuração para os métodos de pagamento Check-out de Subtotal Zero e Ordem de Pagamento em Cheque/Dinheiro.

  • Biblioteca principal do GraphQL atualizada. A biblioteca webonyx, que permite que o GraphQL principal funcione, foi atualizada para a versão ^14.9.

  • Correção de problemas de tradução no GraphQL com lojas de vários sites e idiomas. O resolvedor do GraphQL agora retorna cadeias de caracteres traduzidas com base no escopo do armazenamento, conforme esperado.

  • O GraphQL agora fornece à New Relic nomes de transação descritivos, que podem ser úteis para depuração. GitHub-30915

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

Extensões agrupadas pelo fornecedor

Com exceção de Braintree, todas as extensões agrupadas por fornecedor foram removidas da base de código Magento Open Source 2.4.4. Os comerciantes devem migrar para as extensões oficiais, que estão disponíveis no Commerce Marketplace.

Pagamento do Amazon

dotdigital

Klarna

Vértice

YotPo

Melhorias no pagamento do PayPal

  • A opção de pagamento Venmo agora é compatível.

  • Pagar mais tarde foi adicionado como uma opção para os compradores com base na localização do comprador, não na localização do comerciante.

  • Os comerciantes agora podem definir o país do comprador ao testar a experiência do comprador em seu país de escolha. Anteriormente, os testes estavam limitados apenas ao país em que o comerciante está localizado. Essa alteração é válida somente no modo sandbox.

  • As mensagens na página de check-out agora exibem mensagens precisas sobre quanto e em quantos incrementos o comprador deverá pagar ao usar Pagar mais tarde.

Atualizações de acessibilidade

Esta versão aprimora a conformidade com as diretrizes de acessibilidade padrão. Ele inclui dicas de ferramentas aprimoradas, nomenclatura e marcação acessíveis de elementos de tela e ícones e botões reprojetados. Mais de 80% dessas correções ajudam a melhorar a experiência de compra para usuários sem visão ou visão limitada.

Page Builder

Os comerciantes agora podem adicionar texto alternativo (alt_text) às imagens (Imagem, Banner, Slide) para aprimorar a acessibilidade do conteúdo. GitHub-746

Problemas corrigidos

Estamos corrigindo centenas de problemas no código principal Magento Open Source 2.4.4. Um subconjunto desses problemas corrigidos está descrito abaixo.

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

  • O Magento Open Source agora registra erros de implantação de conteúdo estático em arquivos de log de build conforme esperado.
  • Os patches de dados não podem mais ignorar as restrições exclusivas de uma tabela e inserir valores duplicados em uma tabela de banco de dados MySQL. Anteriormente, os patches podiam inserir valores duplicados, o que corrompia o banco de dados.
  • Os comerciantes agora podem atualizar com êxito de uma implantação do Magento Open Source 2.4.2 com Klarna para o Magento Open Source 2.4.3. GitHub-33760
  • A configuração do gerador de mapas do site agora pode ser alterada com êxito a partir da linha de comando. Anteriormente, o applicationOpen Source exibia este erro quando você tentava alterar a configuração do mapa de site fora do Admin: Import failed: Notice: Trying to access array offset on value of type null in app/code/Magento/Cron/Model/Config/Backend/Sitemap.php on line 78. GitHub-31428
  • O comando bin/magento app:config:import agora é executado sem erro ao atualizar os valores time em config.php. Anteriormente, alterar a configuração de alerta do produto por edição manual (ou seja, sem usar o Administrador) resultava em um erro.

Acessibilidade

  • Erros de acessibilidade com navegação no carrinho e páginas de check-out foram resolvidos. GitHub-34483
  • Agora, os leitores de tela podem ler todos os elementos de formulário relevantes nas páginas de produtos.
  • O contraste foi aprimorado para os botões de exclusão de imagem e ícone de movimentação em toda a loja para melhorar a legibilidade para usuários com pouca visão.
  • O ícone de lupa usado para executar pesquisas na interface do produto recebeu um nome acessível e uma alternativa textual.
  • A barra de ferramentas do editor de rich text agora pode ser acessada usando a tecla Tab.
  • O Item com peso seleciona entrada na página de detalhes do Catálogo > Produto e agora tem rótulos visíveis e um nome acessível.
  • O nome acessível do controle agora inclui o texto de seu rótulo visível para o número de itens por lista suspensa de páginas.
  • Os controles de tabela na página de detalhes do Catálogo > Produto agora têm rótulos visíveis e um nome acessível quando a tabela é recolhida.
  • Os links de edição na tabela Produtos agora têm texto de link exclusivo e significativo.
  • Os acionadores que expandem as dicas de ferramentas agora fornecem nomes textuais.
  • Os botões em toda a loja agora têm nomes acessíveis exclusivos e descritivos. Anteriormente, os botões divididos com um botão de texto e um botão de ícone de seta para baixo adjacente tinham o mesmo nome acessível.
  • O contraste foi aprimorado para os botões de exclusão de imagem e ícone de movimentação em toda a loja para melhorar a legibilidade para usuários com pouca visão.
  • Alternativas textuais foram adicionadas ao ícone de lápis que aparece quando um comerciante edita a entrada da opção Otimização do mecanismo de pesquisa.
  • O ícone de lupa usado para executar pesquisas na interface do produto recebeu um nome acessível e uma alternativa textual.
  • O campo de entrada de texto da página de produto Nova Exibição agora tem um nome acessível.
  • O Item com peso seleciona entrada na página de detalhes do Catálogo > Produto e agora tem rótulos visíveis e um nome acessível.

Infraestrutura

  • Agora, os administradores podem fazer logon no Administrador em uma implantação para a qual um caminho de Administrador personalizado está configurado e a chave secreta está habilitada. Anteriormente, o applicationOpen Source exibia este erro: Invalid security or form key. Please refresh the page.
  • O Magento Open Source não redireciona mais para o escopo Exibição de todas as lojas quando a hierarquia de várias lojas for alterada. Anteriormente, depois que a hierarquia era salva, os compradores eram redirecionados para uma URL de loja incorreta e o escopo Todas as exibições de loja era selecionado em uma implantação de várias lojas.

Produtos do pacote

  • Os compradores agora podem adicionar um pacote de produto com Imposto sobre o Produto Fixo e duas opções ao carrinho de compras. Anteriormente, o applicationOpen Source não adicionava o produto e exibia este erro: We can't add this item to your shopping cart right now.
  • A validação de formulário no formulário dos atributos data-validate e min foi adicionada ao campo de quantidade do carrinho para evitar valores negativos para produtos agrupados.
  • A consulta products agora filtra os produtos agrupados corretamente quando os produtos derivados são desabilitados no nível da loja. Anteriormente, a consulta retornava produtos secundários que estavam desabilitados no nível da visualização de loja.
  • cron agora limpa o cache de categorias do produto conforme esperado durante a execução de indexer_update_all_views. Anteriormente, o applicationOpen Source exibia uma contagem de produtos incorreta na página de categoria após a atualização em massa de muitos produtos na categoria.
  • O Magento Open Source agora atualiza o cache do produto da categoria conforme esperado quando um produto incluído reaparece em estoque.
  • A conversão de moeda agora ocorre conforme esperado em confirmações por email para compras de pacotes de produtos em implantações de várias lojas que usam moedas diferentes. GitHub-33426
  • Os descontos especiais de preço com preços avançados agora são exibidos corretamente para produtos de pacote com um prefixo % na grade de produtos. Anteriormente, um % desconto era exibido incorretamente com o prefixo $ em vez de % na grade de produtos.
  • O status do produto agrupado no Administrador agora é atualizado automaticamente quando um produto relacionado altera seu status.
  • O resolvedor do GraphQL para produtos de pacote agora verifica se os produtos de pacote filho foram desativados. Anteriormente, essa verificação não ocorria e consultas como categoryList retornavam produtos filho que não podiam ser vendidos.
  • cart as respostas da consulta agora retornam descontos precisos para pacotes de produtos com preços dinâmicos. Anteriormente, as respostas da consulta incluíam descontos aplicados a cada produto combinado individualmente.

Cache

  • O algoritmo de limpeza de cache executado durante a reindexação foi otimizado. Os produtos do pacote agora são exibidos conforme esperado quando uma categoria é armazenada em cache durante a reindexação. Anteriormente, os produtos de pacote não eram exibidos por horas após as categorias de produto serem armazenadas em cache durante a reindexação.
  • O cache da página não cresce mais rapidamente sob o uso típico. GitHub-9458
  • Fazer um pedido não resulta mais na remoção de todas as tags de cache relacionadas aos produtos solicitados do cache de verniz. GitHub-30128
  • O cache da página de site completo não é mais apagado ao atualizar um produto das principais categorias ou executar um índice para atualizar os atributos do produto ou o status do estoque. Anteriormente, o cache de verniz adicionava IDs de categoria de menu principal a todas as tags de cache de página. GitHub-33465

Carrinho e check-out

  • O Preço Mínimo Anunciado O que é isto?O link na página do carrinho agora é clicável e abre o pop-up de informações conforme esperado. Anteriormente, clicar nesse link não tinha efeito.
  • Os compradores agora podem fazer pedidos sem erros após o tempo limite de uma sessão em implantações em que o carrinho de compras persistente está ativado. Anteriormente, o applicationOpen Source exibia um erro de pagamento após o tempo limite de uma sessão.
  • Atribuir um valor alto de ordem de classificação a um atributo de endereço do cliente não causa mais degradação de desempenho na página de finalização.
  • O Magento Open Source agora reverte a quantidade do produto do carrinho de compras para o valor anterior se a quantidade atualizada for inválida.
  • Ao clicar no botão Adicionar ao carrinho na seção Visualizada recentemente, o botão agora é redirecionado, conforme esperado, para a página de detalhes do produto. Anteriormente, os compradores eram redirecionados para a página da lista de produtos.
  • Os compradores convidados agora podem fazer check-out com sucesso com um endereço do cliente que contém vários tipos de atributos personalizados de endereço do cliente. Anteriormente, os valores de atributos personalizados não eram formatados corretamente quando exibidos durante o check-out. GitHub-30290
  • O Magento Open Source agora aplica corretamente o limite de frete gratuito a pedidos quando as taxas da tabela estão ativadas. GitHub-21832
  • Agora você pode usar o POST /V1/guest-carts/:cartId/items para adicionar produtos simples com opções diferentes a um carrinho. Anteriormente, essa chamada alterava a quantidade do primeiro produto simples adicionado, em vez de adicionar um segundo produto simples com as opções especificadas. GitHub-32302
  • A seção Resumo de pedidos da página de check-out agora exibe a moeda e o valor corretos quando uma implantação é configurada para o país Poland e a moeda PLN. Anteriormente, o carrinho de compras e a página de check-out exibiam o valor PLN 0.
  • O Magento Open Source não emite mais um erro quando um comprador clica em Atualizar carrinho depois de alterar a quantidade de um produto no minicarrinho. Anteriormente, o applicationOpen Source exibia este erro: The quote item isn't found. Verify the item and try again.
  • As consultas do GraphQL products para produtos configuráveis em uma loja específica agora retornam os intervalos de preço de produtos somente na loja especificada. Anteriormente, as solicitações retornavam faixas de preços para produtos simples em lojas não especificadas.
  • O Magento Open Source não gera mais este erro quando um comprador adiciona um endereço de cobrança que não tem um campo de rua: Uncaught TypeError: Unable to process binding "text: function(){return currentBillingAddress().street.join(', ') }". GitHub-33826
  • O Magento Open Source não lança mais um erro de console durante o check-out nas lojas das quais o minicarrinho foi removido. GitHub-34513
  • O check-out não falhará mais no estágio de pagamento quando o endereço de faturamento não tiver valores de campo de rua ou o valor do campo de rua não for uma matriz. Anteriormente, o check-out falhou com este erro: Uncaught TypeError: Unable to process binding "text: function(){return currentBillingAddress().street.join(', ') }". GitHub-33826
  • O Magento Open Source agora calcula os descontos corretamente quando duas regras de carrinho são aplicadas a um pedido que atende a essas condições: uma regra de carrinho é aplicada com um código de cupom e uma condição Preço fixo em todo o carrinho, e a segunda regra de preço de carrinho não tem cupom e uma condição Percentual de desconto do preço do produto. Anteriormente, o algoritmo relevante não podia dividir corretamente o desconto proporcionalmente entre os produtos do carrinho quando uma regra anterior do carrinho já aplicava um desconto em alguns produtos.
  • O total de vendas agora é calculado corretamente na grade do relatório de cupom. Anteriormente, o total de vendas não incluía o valor do frete.
  • Os descontos do carrinho completo agora são calculados corretamente quando o comprador alterna entre os métodos de envio.
  • A lista suspensa do campo Estado na página Criar ordem do administrador agora é preenchida com os valores predefinidos para o país selecionado. Anteriormente, esse campo era um campo de texto de entrada em vez de um menu suspenso.
  • O Magento Open Source não emite mais um erro depois de usar a mutação addConfigurableProductsToCart para adicionar um produto configurável ao carrinho diretamente após alterar a exibição da loja.
  • O Magento Open Source não emite mais um erro quando você usa a mutação addConfigurableProductsToCart para adicionar um filho desabilitado de um produto configurável ao carrinho. Anteriormente, o applicationOpen Source gerava um erro de violação de restrição de integridade.
  • O valor de uso do cupom não será mais alterado se a ordem à qual o cupom foi aplicado falhar. Anteriormente, os cupons gerados automaticamente de uso único eram marcados como inválidos depois que o cupom era aplicado no carrinho, mas o pedido não era feito.
  • A validação foi adicionada ao fluxo de trabalho de check-out para comparar o endereço do cliente com o valor padrão. Se o processo de validação identificar alterações, ele definirá customer_address_id como null para tratá-las como um novo endereço de cliente. Anteriormente, se o cliente salvasse o endereço sem validação no check-out e o mesmo cliente tentasse fazer um pedido usando o mesmo endereço depois que a validação fosse aplicada ao campo de check-out, o aplicativo Open Source não aceitava o endereço editado e gerava uma exceção.

Regras de preço do carrinho

  • A geração de cupom agora está bloqueada até que a regra de preço do carrinho relacionada seja salva com a opção auto habilitada. Se você tentar salvar esta regra sem habilitar a opção auto, o aplicativo Abrir Source exibirá esta mensagem: Rule is not saved with auto generate option enabled. Please save the rule and try again.
  • Foi adicionado um teste para confirmar a aplicação correta de um desconto de regra de preço do carrinho.
  • As regras de preço do carrinho que usam uma condição SKU com Se um item for ENCONTRADO/NÃO ENCONTRADO no carrinho com Todas/Qualquer uma dessas condições true, agora funcionarão conforme esperado com produtos configuráveis.
  • As regras de preço do carrinho agora são aplicadas corretamente para produtos de pacote de preço fixo. Anteriormente, as regras de preço do carrinho não se aplicavam a esses produtos quando pelo menos um produto secundário tinha o mesmo conjunto de atributos especificado na condição de regra.
  • Um produto com o preço de 0 agora pode ser adicionado com êxito ao carrinho quando o Magento Open Source é configurado com a Regra de preço de valor fixo para carrinho inteiro. Anteriormente, o applicationOpen Source exibia este erro: report.ERROR: Warning: Division by zero in /home/mer33515/public_html/ee24develop/app/code/Magento/SalesRule/Helper/CartFixedDiscount.php on line 85.
  • Correção de uma condição em que a consulta cart retornava um valor de desconto impreciso quando as regras do carrinho de compras com descontos de valor fixo eram ativadas.
  • O Magento Open Source não lança mais uma exceção ao executar uma ação de atualização de atributo em massa na grade de produtos quando um produto tem um atributo datetime.
  • As consultas do GraphQL agora retornam resultados para produtos derivados de um produto configurável de acordo com as configurações de filtro de visibilidade do(s) produto(s) secundário(s).
  • o Magento Open Source não modifica mais os preços relacionados do produto quando os atributos configuráveis do produto são alterados. Anteriormente, o Preço mínimo anunciado (MAP) de um produto configurável substituía o preço dos produtos relacionados na loja.
  • O Magento Open Source não lança mais uma exceção ao executar uma ação de atualização de atributo em massa na grade de produtos quando um produto tem um atributo datetime.
  • Os valores de atributo de seleção múltipla/suspensa para a grade de produto e os filtros de Administração agora são derivados, conforme esperado, das configurações de Administração. Anteriormente, os valores de atributo eram derivados das configurações de armazenamento padrão.
  • As consultas de categoria do GraphQL retornam informações sobre alterações em categorias preparadas, conforme esperado.
  • As listas de produtos agora são renderizadas com precisão no Administrador em implantações com produtos atribuídos a uma categoria principal e suas subcategorias, mas em posições diferentes em cada categoria. Anteriormente, a renderização da lista de produtos falhou com este erro: Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "<ID>" already exists. [GitHub-33145] (https://github.com/magento/magento2/issues/33145
  • Atributos de seleção múltipla com muitas opções (acima de 150) agora podem ser atribuídos a novos produtos. Anteriormente, as opções de atributo eram salvas na tabela catalog_product_entity_varchar, e nem todas estavam presentes quando você reabriu o produto no Administrador. GitHub-33486
  • Adição da validação para o caso em que um roteador não pode instanciar uma classe de ação coletada de um URL. O aplicativo Open Source agora exibe a mensagem de erro padrão. Anteriormente, o applicationOpen Source exibia este erro: PHP Error: Cannot instantiate abstract class Magento\Catalog\Controller\Product\Compare.
  • A atribuição de muitos produtos (aproximadamente 10.000) a uma categoria não causa mais falha no navegador.
  • Os atributos de imagem agora são salvos no banco de dados de forma consistente, seja salvando do Administrador ou importando. Anteriormente, os valores de texto ALT da imagem eram salvos de forma inconsistente. Se a imagem existia e o rótulo estava definido como nulo, o valor do rótulo não era redefinido no banco de dados.
  • A consulta SQL do Widget de catálogo foi otimizada. Anteriormente, grandes consultas do MySQL atrasavam o carregamento da página e resultavam em interrupções do MySQL.
  • Agora os filtros de preço funcionam corretamente com produtos configuráveis indisponíveis. Anteriormente, os produtos configuráveis esgotados não eram mostrados em sua faixa de preço correta.
  • Atualizar um produto filho não remove mais o desconto de regra de catálogo herdado de seu produto configurável pai durante o processo de indexação parcial. Anteriormente, quando atribuíamos um produto configurável a uma categoria, mas não a seus produtos simples associados, e depois usávamos essa categoria para criar uma regra de catálogo, o aplicativo Open Source removia a regra de catálogo atribuída ao produto simples durante o processo de indexação parcial.
  • A lista de exibição de grade de produtos agrupados e configuráveis agora contém apenas produtos simples e virtuais ao adicionar opções de produto. Anteriormente, o aplicativo incluía produtos simples com opções.
  • Atualizações diárias de regras de catálogo não resultam mais em degradação de desempenho. Anteriormente, a indexação parcial de preços de produtos de catálogo não removia preços ou datas antigas.
  • O Magento Open Source não remove mais as regras de preço de catálogo em produtos configuráveis durante a reindexação parcial. Anteriormente, somente os subprodutos eram reindexados quando os produtos configuráveis eram reindexados.
  • As regras de preço de catálogo com a condição category is not category_id agora se aplicam a produtos que não pertencem a nenhuma categoria.

Produtos configuráveis

  • O nome do rótulo da opção de produto configurável agora se baseia na exibição de loja selecionada durante a criação do pedido de Admin. Anteriormente, o applicationOpen Source usava o nome do rótulo da visualização de loja padrão.
  • As listas de produtos agora incluem corretamente produtos secundários de um produto indisponível quando o sinalizador global para exibição de produtos indisponíveis está ativado. Anteriormente, a lista de produtos não incluía o produto filho se uma das várias opções de produto filho estivesse indisponível quando esse sinalizador era ativado.
  • Agora você pode usar a mutação addConfigurableProductsToCart para adicionar um produto configurável ao carrinho em uma exibição de loja não padrão. Anteriormente, não era possível adicionar um produto configurável ao carrinho quando a ID do site e a ID da loja eram diferentes. GitHub-30948
  • As consultas do GraphQL products não retornam mais dados sobre os produtos derivados desabilitados de produtos configuráveis.
  • A criação de novas configurações para um produto configurável não anula as alterações nas configurações existentes. Anteriormente, o status de variações existentes era substituído pelo status padrão enabled depois que novas variações eram geradas.
  • o Magento Open Source não emite mais um erro interno quando você tenta adicionar um filho desativado de um produto configurável ao carrinho.

Cliente

  • O Magento Open Source agora considera o escopo do site para localidades de administrador durante a criação do pedido. Anteriormente, os detalhes do pedido, como atributos de endereço do cliente, funcionavam corretamente em um site somente em uma implantação de vários sites. GitHub-23254

Email

  • Os erros de validação de campo de email no pop-up de logon de check-out agora correspondem aos erros de validação de email na página de logon do cliente quando um cliente tenta fazer logon usando uma conta de email inválida.
  • O Magento Open Source não inclui mais uma mensagem de erro no email de detalhes da remessa quando um comentário de remessa é adicionado do Administrador e a caixa de seleção Notificar Cliente está ativada. Anteriormente, os emails de confirmação de envio incluíam esta mensagem: We're sorry, an error has occurred while generating this content.
  • Os valores de ID de região e país agora são convertidos corretamente em modelos de email. Anteriormente, ao clicar em Link de visualização do modelo de email do Administrador, o país e o nome da região não eram exibidos corretamente.
  • Os emails de atualização de vendas enviados do Administrador para exibições de loja fora do padrão agora contêm rótulos de status de pedido corretos. Anteriormente, esses emails sempre exibiam o status do armazenamento padrão. GitHub-29263
  • O Magento Open Source agora inclui Content-Disposition: inline cabeçalhos no email conforme esperado. GitHub-29258
  • Emails de notificação de pedidos e remessas agora funcionam como esperado em implantações usando o Microsoft Outlook e o MS Exchange Server. Anteriormente, o corpo do email estava vazio, mas continha um anexo rotulado como ATT*. GitHub-25076
  • Os emails de pedidos agora contêm dados localizados usando a localidade do comprador, conforme esperado. Anteriormente, os emails de pedido usavam a localidade do Admin.
  • Clicar na pré-visualização de qualquer modelo de email agora abre a pré-visualização do modelo em uma janela separada, conforme esperado. Anteriormente, o aplicativo Abrir Source abria a pré-visualização do modelo simultaneamente a partir da grade Modelos de email e em uma janela pop-up.
  • Os emails de pedido assíncrono enviados de um site não padrão agora incluem URLs de logotipo do site apropriado. Anteriormente, esses emails sempre incluíam logotipos do site padrão ou principal. (Uma chave padrão com um valor storeCode foi atribuída ao segundo argumento de matriz que é passado para a função UrlInterface getUrl. Esse valor distingue URLs em relação a diferentes lojas/sites e gera um baseUrl correto para o conteúdo de email que é enviado ao cliente.)

Estruturas

  • As comparações não estritas entre números e cadeias de caracteres não numéricas agora funcionam convertendo o número em cadeia de caracteres e comparando as cadeias de caracteres. As comparações entre números e cadeias de caracteres numéricas continuam a funcionar como antes. Isso significa que 0 == "not-a-number" agora é considerado falso. GitHub-33780
  • O auxiliar Magento\Payment\Helper\Data não cria mais novos layouts nos construtores. Anteriormente, quando esse auxiliar era usado em comandos personalizados sem especificar um código de área, o Magento Open Source emitia um erro. GitHub-33908
  • Dependência do Composer allure-framework/allure-php-api atualizada.
  • O Magento Open Source agora retorna um código de resposta 500 quando ocorre uma exceção no arquivo de inicialização. Anteriormente, o applicationOpen Source retornava um código de status 200 OK. GitHub-22196
  • O símbolo de moeda agora é carregado conforme esperado nas páginas de detalhes do produto da loja. Anteriormente, esse símbolo às vezes desaparecia depois que a página do JavaScript era recarregada.
  • A atualização de symfony/console não causa mais uma falha ao executar bin/magento setup:di:compile. GitHub-33595
  • Novas opções necessárias foram adicionadas aos arquivos .htaccess e nginx.conf que são distribuídos com Magento Open Source para suporte ao PHP 8.x. As opções desatualizadas também foram removidas. GitHub-34358
  • Os comerciantes agora podem fazer upload de um vídeo para vários produtos. O processo de geração de arquivo agora anexa uma extensão ao nome do arquivo somente se o nome do arquivo carregado incluir uma extensão. Anteriormente, quando um comerciante tentava carregar e salvar o mesmo vídeo para dois produtos diferentes, o aplicativo Open Source exibia este erro: Notice: Undefined index: extension in /app/7ha7zds7wvqys_stg/vendor/magento/framework/File/Uploader.php on line 699. Isso ocorreu porque o Magento Open Source tentou anexar uma extensão de arquivo ao nome, independentemente do nome do arquivo carregado ter uma extensão.
  • Correção de problemas na construção de sprintf(__()) e sprintf(Magento\Framework\Phrase()) para compatibilidade com o PHP 8.x em toda a base de código. Anteriormente, o Source applicationOpen gerava este tipo de erro: Expected parameter of type 'string', 'Magento\Framework\Phrase' provided. GitHub-34085
  • Validação dos parâmetros de consulta de pesquisa avançada aprimorada. GitHub-33589
  • A execução de bin/magento support:backup:code agora cria um backup conforme esperado. Anteriormente, o applicationOpen Source criava um backup, mas gerava um erro.
  • cron processos executados com êxito agora recebem o status de success. Anteriormente, o mesmo processo cron podia ser executado duas vezes porque cron processos bem-sucedidos receberam um status pending.
  • O módulo Magento_Logging agora dá suporte a IPv6.

Correções gerais

  • O Magento Open Source agora copia todos os campos de produto de acordo com seus escopos definidos ao duplicar um produto. Anteriormente, os campos nome e descrição eram redefinidos como escopo global.
  • o Magento Open Source não aplica mais o arredondamento delta a um desconto quando o preço do produto é 0. Anteriormente, o applicationOpen Source calculava um valor de desconto negativo.
  • Os produtos com um atributo Definir como Novo que recebeu uma data de início vazia e uma data de término expirada agora podem ser salvos com êxito. Anteriormente, o Source applicationOpen gerava este erro quando você salvava um produto com estas configurações: Make sure the To Date is later than or the same as the From Date.
  • Os administradores agora podem repetir operações que foram executadas durante o tempo máximo de processamento. O máximo padrão é de 12 horas.
  • Os erros de pipe quebrados não ocorrem mais durante o processamento de ação em massa devido a mensagens não reconhecidas para o consumidor. Uma propriedade de contagem de pré-busca agora limita essas mensagens para o consumidor e evita erros. Anteriormente, a execução de bin/magento queue:consumers:start async.operations.all gerou este erro: Broken pipe or closed connection.
  • Os compradores agora são redirecionados de volta para a página de logon, conforme esperado após uma segunda tentativa de logon sem êxito. Anteriormente, os compradores eram redirecionados para uma página 404 após uma segunda tentativa de logon malsucedida. GitHub-32885
  • A validade do token de redefinição de senha foi estendida para evitar a ocorrência de uma condição de corrida durante o envio da página de alteração de senha. GitHub-29647
  • As permissões atribuídas a novas integrações agora são respeitadas. GitHub-33347
  • Correção do problema de regressão que afetava as mensagens deixadas nos logs de exceção do formulário Fale Conosco. GitHub-34483
  • Solução de vários problemas com o carregamento de dados do cliente pela JavaScript. GitHub-30498
  • Usar QuoteIdToMaskedQuoteId em uma extensão não aumenta mais significativamente o tempo de resposta. GitHub-33676
  • A classe BundleDiscountPrice em magento2/app/code/Magento/Bundle/Pricing/Price/ConfiguredPrice.php agora está declarada como esperado. Anteriormente, o applicationOpen Source gerava este erro: Class Magento\Bundle\Pricing\Price\BundleDiscountPrice not found. GitHub-33334
  • Os valores de campo CSV de escape gravados pelo adaptador AWS S3 agora correspondem aos dados gravados por outros adaptadores do sistema de arquivos.
  • O armazenamento compatível com S3 agora é compatível. GitHub-32114
  • Fazer logout de um dispositivo não faz mais logout automático do comprador de outros dispositivos.

GraphQL

  • As mutações generateCustomerToken e revokeCustomerToken agora fornecem a ID de cache correta para o estado do usuário. Anteriormente, essas mutações usavam um x-magento-cache-id inválido, o que degradava o desempenho.
  • A mutação setBillingAddressToCart agora usa corretamente o parâmetro same_as_shipping para definir o endereço de cobrança que corresponda ao endereço de entrega conforme esperado. Anteriormente, o applicationOpen Source exibia este erro: The shipping method is missing. Select the shipping method and try again. GitHub-30924
  • As operações de carrinho do GraphQL agora calculam os totais gerais do carrinho somente quando a consulta o solicita. Anteriormente, as operações do carrinho sempre calculavam o total geral, que é uma operação que consome muitos recursos.
  • A mutação addProductsToCart agora adiciona ao carrinho somente produtos atribuídos à loja definida no cabeçalho.
  • products consultas usando filtros de navegação em camadas agora retornam listas de categorias secundárias corretas. GitHub-33387
  • Consultas e mutações que retornam o objeto ConfigurableCartItem contêm informações sobre as variantes configuradas conforme esperado.
  • A consulta products agora retorna valores de opção de produto de configuração e valores de atributo de variante. Anteriormente, esses valores estavam vazios nas respostas da consulta.
  • A consulta products agora filtra os produtos agrupados corretamente quando os produtos derivados são desabilitados no nível da loja. Anteriormente, a consulta retornava produtos secundários que estavam desabilitados no nível da visualização de loja.
  • A mutação setShippingAddressesOnCart agora oferece suporte à configuração de endereços de envio em um carrinho de compras com um valor de número de telefone vazio quando a configuração de Administração Mostrar Telefone está definida como opcional. Anteriormente, o applicationOpen Source gerava este erro: Field CartAddressInput.telephone of required type String! was not provided.
  • Correção de um problema em que a mutação addSimpleProductsToCart permitia adicionar produtos simples ao carrinho e que não eram atribuídos ao site de destino.
  • As consultas MySQL foram otimizadas para consultas products do GraphQL que usam parâmetros de pesquisa para refinar os resultados da pesquisa.
  • A mutação addConfigurableProductToCart não oferece mais suporte à adição de um produto a um carrinho se o produto não estiver incluído no escopo solicitado.
  • A consulta products agora retorna somente variantes configuráveis atribuídas à loja solicitada. Anteriormente, todas as variantes do produto configurável solicitado eram retornadas.
  • addSimpleProductsToCart solicitações agora podem ser executadas com êxito em paralelo. Anteriormente, várias solicitações para o mesmo SKU criavam itens de linha duplicados para a mesma ID do carrinho, em vez de aumentar a quantidade do produto, conforme esperado.
  • A mutação addProductsToCompareList agora pode ser usada para comparar variantes de produtos configuráveis.
  • Quando o preço de um produto de nível é atualizado no back-end, o novo preço é atualizado corretamente no carrinho do cliente. Anteriormente, embora o subtotal na seção de resumo do carrinho fosse atualizado corretamente, o subtotal da linha não era atualizado.
  • A mutação addProductsToCart agora adiciona todas as opções selecionadas ao carrinho quando usada para adicionar pacotes de produtos com várias opções de seleção. Anteriormente, a mutação adicionava apenas a última seleção. GitHub-33123
  • As consultas do GraphQL agora retornam o endereço de cobrança conforme esperado quando o valor de um campo de telefone opcional é definido como uma cadeia de caracteres vazia. Anteriormente, as consultas retornavam um valor de endereço nulo. GitHub-30218
  • A resposta de consulta do products agora lista produtos de acordo com a ordem de classificação especificada quando vários produtos têm a mesma relevância ou valor de preço.
  • As solicitações addSimpleProductsToCart e addProductsToCart simultâneas não resultam mais em itens de cotação duplicados.
  • products os filtros de navegação em camadas da consulta agora retornam as listas corretas de categorias secundárias. Apenas subcategorias diretas agora são incluídas quando o sinalizador includeDirectChildrenOnly é fornecido na solicitação. Anteriormente, todas as categorias eram incluídas na resposta da seção de agregação quando um produto era atribuído a várias categorias.
  • Adição da funcionalidade de sugestão de pesquisa para consultas de pesquisa do GraphQL.
  • O campo OrderAddress.telephone agora é opcional na consulta customer ou em outras consultas e mutações que retornam ou modificam endereços de pedidos de clientes.
  • Os preços agora são atualizados corretamente para clientes em um grupo especificado na loja e no Administrador quando uma ID de grupo é alterada por meio da API. Anteriormente, esses preços não eram atualizados corretamente quando uma ID de grupo era alterada por meio da API.

Imagem

  • Imagens de marca d'água com planos de fundo transparentes não têm mais um plano de fundo branco na imagem transparente do produto que é sobreposta. Anteriormente, quando a imagem da marca d'água e a imagem do produto tinham um plano de fundo transparente, a marca d'água era exibida com um plano de fundo branco.
  • Os logotipos para faturas e recibos de remessa agora são carregados e exibidos conforme esperado quando o AWS S3 é ativado.
  • A tag de mídia associada a uma imagem adicionada a uma página do CMS em uma implantação em que o Administrador é definido como um domínio diferente do URL de armazenamento agora contém URLs de armazenamento, conforme esperado. Anteriormente, as tags de mídia continham URLs de administrador estáticos em vez dos URLs de armazenamento esperados. GitHub-32930
  • O Magento Open Source não lança mais um erro quando você libera o cache de imagens enquanto carrega imagens simultaneamente na loja.

Importar/exportar

  • bin/magento remote-storage:sync não falha mais quando os nomes de arquivos são semelhantes, mas diferem somente em um ou dois caracteres. Anteriormente, a primeira imagem era armazenada corretamente, mas a segunda, com nome semelhante, disparava uma falha de sincronização e este erro: Notice: Undefined index: media/catalog/product/5/_ in /src/vendor/magento/module-remote-storage/Driver/Adapter/Cache/Generic.php on line 197. GitHub-34337
  • O Magento Open Source agora converte o carimbo de data e hora no nome do arquivo de exportação para o fuso horário do usuário após uma exportação programada. Anteriormente, esses valores não eram convertidos e o Magento Open Source exibia o carimbo de data e hora UTC.
  • O Magento Open Source não cria mais imagens duplicadas no armazenamento remoto quando o mesmo arquivo CSV é importado mais de uma vez.
  • A importação não falha mais com esta mensagem: Import failed: Area code not set: Area code must be set before starting a session. GitHub-16171
  • Agora você pode importar com êxito depois de executar o bin/magento app:config:dump e editar manualmente o config.php. GitHub-31428
  • Separadores de vários valores não padrão agora podem ser usados em atributos de seleção múltipla personalizados. Anteriormente, a validação falhava durante a importação. GitHub-23156
  • A posição do produto em categorias agora é atribuída corretamente durante a importação do CSV.

Índice

  • O Magento Open Source agora exibe produtos conforme esperado na loja após a reindexação. Anteriormente, quando os primeiros 500 produtos que estavam sendo reindexados estavam em estoque e os próximos 500 produtos estavam esgotados, a loja não exibia nenhum produto adicional.
  • Solução de problemas de consistência em indexer.xml arquivos mesclados. Os valores permitidos em classType agora são os mesmos em arquivos indexer.xml não mesclados e mesclados. GitHub-29609
  • Um mecanismo de sincronização foi implementado em indexadores de categoria para impedir que indexadores completos e parciais sejam executados em paralelo. Anteriormente, quando esses indexadores eram executados em paralelo, os produtos podiam ser omitidos temporariamente das páginas de categoria da loja ou as páginas de categoria podiam estar temporariamente vazias de produtos.

Infraestrutura

  • O método str_contains sem suporte foi substituído por uma função com suporte. Esse foi um problema conhecido do Magento Open Source 2.4.3. GitHub-33680
  • Refatorada a base de código para corrigir o uso da palavra-chave match, que é uma palavra-chave reservada no PHP 8.x. GitHub-33626

  • As tags HTML agora estão aninhadas e fechadas corretamente para atender aos padrões na JQuery 3.5.x para elementos não nulos, incluindo elementos personalizados.

  • Corrigidas as funções abs() e round() para compatibilidade com PHP7.x e PHP8.x. GitHub-34322
  • Atualizar symfony/console não causa mais falha ao executar bin/magento setup:di:compile. GitHub-33595
  • Correção da restrição para a dependência do Composer colinmollenhour/cache-backend-redis. GitHub-34177
  • A base de código foi refatorada para remover chamadas para métodos obsoletos de phpunit/phpunit. GitHub-33916
  • O Magento Open Source agora exibe um erro informativo quando um administrador com um pubs/media somente leitura tenta acessar a página de detalhes do produto de um produto que inclui imagens. Anteriormente, o applicationOpen Source exibia um erro de PHP. GitHub-32819
  • Todas as anotações de nível de membro @api foram movidas para sua classe em toda a base de código.
  • Os dados do widget gift-card Cms foram movidos de Magento/WidgetSampleData (Magento Open Source) para Magento/GiftCardSampleData (Adobe Commerce). Isso resolveu problemas de instalação (Magento Open Source) com dados de amostra no PHP8.1.
  • Interfaces marcadas em toda a base de código da Integração do Adobe Stock com @api, conforme necessário. GitHub-32875
  • Inteiros e floats em conjuntos de resultados agora são retornados usando tipos PHP nativos em vez de strings ao usar instruções preparadas emuladas. GitHub-34625
  • A criação automática de arrays a partir de valores falsos foi desabilitada para garantir compatibilidade com o PHP 8.1.
  • O auxiliar Magento\Payment\Helper\Data não cria mais novos layouts nos construtores. Anteriormente, quando esse auxiliar era usado em comandos personalizados sem especificar um código de área, o aplicativo Open Source exibia um erro. GitHub-33908
  • Agora você pode passar um argumento data para um construtor de instância de bloco por di.xml.
  • Melhoria da verificação JWK na classe JwsManager para lidar com situações em que o algoritmo é definido diretamente no cabeçalho. Anteriormente, essa verificação ignorava esse cenário válido. GitHub-32636

Atualizações de dependência do JavaScript

Remoções e descontinuações da biblioteca

  • As bibliotecas a seguir foram removidas porque todos os navegadores compatíveis com o Magento Open Source 2.4.x têm suporte incorporado para esta funcionalidade:

    • es6-collections.js
    • MutationObserver.js
    • Modernizr
    • FormData.js
  • A biblioteca JavaScript jquery.hoverIntent não usada foi removida. GitHub-33732

  • lib/internal/Magento/Framework/Filter/Money.php foi descontinuado. Ela contém a função money_format(), que foi removida no PHP 8.x. GitHub-33870

  • Removido o pacote grunt-autoprefixer obsoleto, sem suporte. GitHub-34037

Atualizações de biblioteca

  • As seguintes bibliotecas foram atualizadas para versões mais recentes:

    • script.aculo.us
    • Chart.js
    • moment.js
    • moment-timezone-with-data.js
    • matchMedia.js
    • underscore.js
    • PrototypeJS
    • RequireJS
    • LessCSS

Fatura

  • A conversão para int foi removida para IDs de fatura incrementadas automaticamente quando prefixadas com uma cadeia de caracteres. Como resultado, as faturas agora exibem um 0 para números que recebem o prefixo de uma string. GitHub-34451

Logs

  • O Magento Open Source não cria mais entradas de log para chamadas de API com falha que executam ações em massa em Sistema > Ações em massa. Anteriormente, entradas permanentes para chamadas de API com falha eram adicionadas ao log de ação em massa.

Adobe Commerce coding standard

  • Atualizado phpunit/ phpunit para a versão mais recente do repositório magento-coding-standard. GitHub-33622
  • Atualização da dependência webonyx/graphql-php para a versão ^14.9 no repositório padrão de codificação do Adobe Commerce. GitHub-32863
  • Adição de um novo sniff Magento2.PHP.ArrayAutovivification ao padrão de codificação Adobe Commerce para identificar a criação automática de matrizes a partir de um valor falso. GitHub-34509
  • Adição do novo sniff Magento2.Functions.DeprecatedFunction ao padrão de codificação Adobe Commerce. GitHub-34547
  • Adicionadas funções obsoletas ao farejar Magento2.Functions.DiscouragedFunction no padrão de codificação Adobe Commerce. GitHub-34548
  • O sniff Magento2.Annotation.MethodAnnotationStructure não falha mais com um falso positivo. GitHub-34679

Galeria de mídia

  • O comando bin/magento media-gallery:sync não falha mais em implantações em que o AWS S3 está habilitado.
  • Os títulos do submenu Conteúdo da Galeria de Mídia recém-adicionados agora são exibidos quando os itens de menu excedem 11 e a configuração Habilitar Galeria de Mídia Antiga está habilitada. GitHub-33889
  • O tempo de carregamento da guia Galeria de mídia ao editar um produto com muitas imagens melhorou. GitHub-33434

MFTF

  • CURLOPT_POSTFIELDS não aceita mais objetos como matrizes. Para interpretar um objeto como uma matriz, execute uma conversão explícita (array). Essa prática também se aplica a outras opções que aceitam arrays. GitHub-33781

  • curl_init() agora retorna um objeto CurlHandle em vez de um recurso. A função curl_close() não tem mais efeito. Em vez disso, a instância CurlHandle será automaticamente destruída se não for mais referenciada. GitHub-33781

  • Correção de erros em testes MFTF para produtos baixáveis. GitHub-34270
  • Removido CliCacheFlushActionGroup dos módulos CatalogSearch, GroupedProduct, Newsletter, Paypal, Quote e Review. GitHub-33531
  • As comparações não estritas entre números e cadeias de caracteres não numéricas agora funcionam convertendo o número em cadeia de caracteres e comparando as cadeias de caracteres. As comparações entre números e cadeias de caracteres numéricas continuam a funcionar como antes. Isso significa que 0 == "não é um número" agora é considerado falso. GitHub-33780
  • parse_url() agora distingue entre consultas e fragmentos ausentes e vazios. GitHub-33782
  • Atualização da codebase para evitar um erro fatal ao usar o método ReflectionType::isBuiltin(). GitHub-34194

Novos grupos de ação

AdminCheckOrderStatusInGridActionGroup GitHub-33747

StorefrontSelectFirstShippingMethodActionGroup GitHub-33773

AdminClickUpdateChangesOnCreateOrderPageActionGroup GitHub-33689

Grupos de ação

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

AdminAddInStockProductToTheCartTest GitHub-34512

AdminAddBundleItemsTest GitHub-34312

AdminConfigurableProductAddConfigurationTest GitHub-34511

AdminConfigurableProductBulkUpdateTest GitHub-34435

AdminConfigurableProductDisableAnOptionTest GitHub-34511

AdminConfigurableProductOutOfStockAndDeleteCombinationTest GitHub-34316

AdminConfigurableProductOutOfStockTestDeleteChildrenTest GitHub-34316

AdminConfigurableProductRemoveAnOptionTest GitHub-34511

AdminConfigurableProductRemoveConfigurationTest GitHub-34511

AdminCreateAndEditSimpleProductSettingsTest GitHub-34435

AdminCreateAndEditVirtualProductSettingsTest GitHub-34435

AdminCreateInactiveFlatCategoryTest GitHub-34490

AdminCreateInactiveInMenuFlatCategoryTest GitHub-34510

AdminCreateDuplicateCategoryTest GitHub-34414

AdminCreateDuplicateProductTest GitHub-34414

AdminDeleteSimpleProductTest GitHub-33783

AdminEditRelatedBundleProductTest GitHub-34313

AdminMassDeleteBundleProductsTest GitHub-34313

AdminNavigateMultipleUpSellProductsTest GitHub-34314

AdminSimpleProductSetEditContentTest GitHub-34435

AdminSimpleProductTypeSwitchingToConfigurableProductTest GitHub-33788

AdminConfigurableProductTypeSwitchingToVirtualProductTest GitHub-33788

AdminCreateConfigurableProductWithDisabledChildrenProductsTest GitHub-33775

AdminUpdateFlatCategoryAndAddProductsTest GitHub-34490

AdminUpdateTopCategoryUrlWithNoRedirectTest GitHub-33774

AdminUpdateTopCategoryUrlWithRedirectTest GitHub-33774

CatalogProductListWidgetOperatorsTest GitHub-34579

CreateProductAttributeEntityWithReservedKeysTestGitHub-34422

EnableDisableBundleProductStatusTest GitHub-34313

StorefrontCheckRefundGrandTotalActionGroup GitHub-34315

StorefrontInactiveCatalogRuleTest GitHub-33556

StorefrontConfigurableProductCantAddToCartTest GitHub-33786

StorefrontConfigurableProductOptionsTest GitHub-33785

StorefrontConfigurableProductCanAddToCartTest GitHub-33784

StorefrontConfigurableProductGridViewTest GitHub-34311

StorefrontConfigurableProductListViewTest GitHub-34311

StorefrontProductNameWithHTMLEntitiesTest GitHub-33806

StorefrontProductNameWithDoubleQuoteTest GitHub-32991

Novos testes

AdminCreateOrderWithCheckedAppendCommentCheckboxTest GitHub-32381

CheckoutWithEnabledCaptchaTest GitHub-32991

StorefrontAddProductWithBackordersAllowedOnProductLevelToCartTest GitHub-33635

StorefrontGiftMessageForOrderOnCheckoutCartPageTest GitHub-32821

StorefrontCaptchaCheckoutWithEnabledCaptchaTest GitHub-32821

StorefrontCheckoutWithEnabledMinimumOrderAmountOptionTest GitHub-33460

Testes refatorados

CaptchaWithDisabledGuestCheckoutTest GitHub-30828

Boletins informativos

  • Os usuários com as permissões apropriadas agora podem gerenciar assinaturas de boletins informativos do cliente conforme esperado. Anteriormente, somente administradores com permissões totais podiam gerenciar assinaturas de boletins informativos de clientes na página Conta de administrador do cliente.

Pedido

  • Os compradores agora podem reordenar com êxito um pedido existente que contém um produto com a combinação de opções personalizadas de arquivo de tipo e lista suspensa de tipos da loja e do Administrador. Anteriormente, o applicationOpen Source gerava um erro e não processava a reorganização.
  • A página de detalhes do pedido do administrador agora é carregada conforme esperado. Anteriormente, o Source applicationOpen gerava o seguinte erro ao carregar a página de detalhes do pedido para pedidos com determinados impostos: Call to a member function getId() on array.
  • Os administradores com permissões restritas que incluem privilégios de pedido e envio agora podem exibir a página de pedido conforme esperado. Anteriormente, o applicationOpen Source exibia um erro quando um administrador com essas permissões tentava exibir um pedido. GitHub-14633
  • Os compradores agora podem fazer um pedido que inclui um produto configurável secundário quando um limite de quantidade máxima permitida é definido.

Métodos de pagamento

  • Os compradores agora podem usar o Braintree para fazer um pedido usando um endereço de faturamento sem uma região definida nas implantações com 3DS ativado. Anteriormente, o check-out congelava quando o comprador clicava em Fazer pedido e não era possível concluir a compra. GitHub-34204
  • A opção de pagamento Venmo agora é compatível.
  • O PayPal agora pode rastrear por código BN.
  • bin/magento setup:upgrade agora é executado conforme esperado ao atualizar do Magento Open Source 2.4.2-p1. Anteriormente, o applicationOpen Source gerava este erro: Unable to apply data patch Magento\Paypal\Setup\Patch\Data\UpdateBmltoPayLater for module Magento_Paypal. GitHub-33678
  • A ID de armazenamento correta agora é usada para recuperar cartões de crédito salvos durante a inserção de pedidos de Admin. Os cartões de crédito armazenados agora são exibidos durante o posicionamento do pedido de acordo com a configuração do escopo do site. Anteriormente, quando um administrador tentava criar um pedido para um cliente do Administrador e selecionava o método Cartões de crédito armazenados, nenhuma opção estava disponível para cartões armazenados.
  • Anomalias com a exibição de crédito do PayPal de valores de cartão-presente foram resolvidas. Anteriormente, quando o Crédito do PayPal era ativado e vários valores de cartão-presente eram configurados, se um comprador alterava o valor de um cartão-presente, a loja não atualizava o valor dos pagamentos parcelados. Esse foi um problema conhecido no Magento Open Source 2.4.3.

PayPal

  • O Magento Open Source não exibe mais um erro durante o check-out com o método de pagamento PayPal Express. Anteriormente, embora o processo de check-out fosse concluído, o aplicativo Abrir Source exibia este erro: Something went wrong.
  • O PayPal Express agora funciona conforme esperado do carrinho de compras. Anteriormente, ao clicar no botão PayPal para iniciar o check-out expresso do carrinho, o aplicativo Abrir Source exibia este erro: To check out, please sign in with your email address. GitHub-33445
  • O PayPal Payflow Pro agora executa captura atrasada com IDs de transação pai corretas em implantações em que o gateway do PayPal Payflow Pro com Ação de Pagamento está definido como Autorização. Uma transação Venda é enviada para o Fluxo de Pagamento com uma ID de transação pai do token de cofre criado no check-out conforme esperado. Anteriormente, uma transação de Captura Atrasada era criada e enviada para o Fluxo de Pagamento do PayPal. GitHub-33445
  • Os compradores agora são redirecionados para a página de sucesso como esperado após o pagamento com o Pagamento antecipado do PayPal Payments é concluído. Anteriormente, os compradores não eram redirecionados para essa página mesmo que o pagamento fosse processado com êxito e nenhum erro fosse registrado.

Desempenho

  • O tempo de execução de carregamento da lista de módulos melhorou.
  • O desempenho do cache de Termo de pesquisa popular melhorou. Anteriormente, quanto maior a tabela search_query, mais demorava para ser concluída uma consulta de pesquisa. GitHub-27559
  • por padrão, o Magento Open Source redimensiona imagens de forma síncrona durante o salvamento do produto. Os comerciantes agora podem redimensionar imagens como um processo assíncrono em segundo plano por pequenas edições em um arquivo di.xml.
  • O desempenho do indexador de Produtos de Categoria foi aprimorado em implantações de várias lojas. GitHub-33984
  • O novo cache na memória para glob() chamadas do sistema melhora o desempenho ao reduzir o número de glob() chamadas. GitHub-34025
  • O desempenho do processo de reindexação da grade de ordem assíncrona foi aprimorado.
  • O consumo de memória durante a exportação do produto foi otimizado.

Preços

  • A classificação de preço agora funciona conforme esperado quando os preços do produto estão próximos ou iguais a zero e os catálogos compartilhados estão habilitados. Anteriormente, os preços de nível zero eram ignorados durante a reindexação de preço.

AlertaProduto

  • O novo consumidor product_alert melhora o envio de alertas ao cliente criando mensagens em fila, executando o consumidor e melhorando o tempo de execução. Anteriormente, o applicationOpen Source gerava uma exceção de falta de memória ao enviar mais de 100.000 alertas de produto. O aplicativo Open Source também levou mais de 20 horas para enviar todos os alertas.
  • O Magento Open Source não lança mais um erro se o filtro de preço na página Categoria não contiver um segundo valor. Anteriormente, o applicationOpen Source gerava uma exceção no arquivo de log.

Vídeo do produto

  • O Magento Open Source agora habilita o botão Salvar e preenche automaticamente os campos ao inserir uma URL incompleta ao adicionar um vídeo (Administrador Catálogo > Produtos > Adicionar Vídeo). Anteriormente, o botão Salvar estava desabilitado e os campos não eram preenchidos.

Resenhas

  • A exibição da lista de produtos agora exibe a classificação com estrelas correta para os produtos. GitHub-30196
  • As análises agora ficam visíveis conforme esperado quando um comprador clica em Analisar na página de produtos da loja.
  • A classificação de estrelas do produto agora é consistente nas exibições de Grade e Lista na página de lista de produtos da loja. Anteriormente, o mesmo produto podia ter classificações diferentes nos modos de exibição Grade e Lista.

Vendas

  • O desempenho das atualizações de grade de vendas no modo assíncrono para tabelas com grandes conjuntos de dados após a atualização para MariaDB 10.2.34 foi aprimorado.
  • O Magento Open Source agora remove marcas HTML como esperado da página Conta > Meus Pedidos > Exibir pedido da vitrine. Anteriormente, o applicationOpen Source exibia as tags HTML na seção de comentário de pedido do cliente da loja.
  • Foi adicionada cobertura de teste automatizada para verificar a existência de um índice para sales_shipment_grid.order_id.
  • POST V1/orders chamadas agora atualizam atributos de extensão sem erro. Anteriormente, ocorria um erro de sintaxe SQL.

Pesquisar :headding-anchor:search-heading

  • As opções de Navegação em camadas para o intervalo de preços agora funcionam como esperado com atributos de preço personalizados. O aplicativo Open Source usa a configuração da etapa de navegação de preço ao filtrar atributos de preço personalizados. Anteriormente, o applicationOpen Source usava a configuração de etapa manual.
  • A loja agora mostra todas as subcategorias da categoria atual na navegação em camadas, independentemente do número de categorias disponíveis no catálogo.
  • As pesquisas no catálogo de Elasticsearch agora não fazem distinção entre diacríticos. Anteriormente, as pesquisas por termos sem um acento resultavam em resultados diferentes das pesquisas no mesmo termo com um acento.
  • Agora o peso da pesquisa está definido corretamente nos atributos SKU que contêm caracteres especiais.
  • category_name foi adicionado aos códigos de atributo de produto reservados pelo sistema. O aplicativo Abrir Source agora mostra um erro se um usuário tentar criar um atributo de produto com o código de atributo category_name. Anteriormente, os produtos não eram listados na categoria esperada e um erro de Elasticsearch era registrado.
  • Termos de pesquisa populares atualizados após cada consulta de pesquisa do GraphQL.
  • Magento Open Source agora adiciona os campos de preço corretos ao mapeamento do índice de preço Elasticsearch. Anteriormente, campos de preço incorretos eram adicionados ao índice com a ID da loja em vez da ID do site.

Envio

  • O email de remessa agora inclui o número de rastreamento apenas para a remessa atual. Anteriormente, quando um pedido incluía várias remessas, cada email de remessa incluía os números de rastreamento de todas as remessas relacionadas ao pedido.
  • O Magento Open Source agora atualiza o minicarrinho com sucesso quando um comprador exclui um produto do carrinho no modo de vários envios e, em seguida, muda para um único endereço de envio. Anteriormente, os preços dos produtos não eram atualizados conforme esperado.
  • A importação de taxas de tabela agora funciona conforme esperado ao usar o adaptador de armazenamento S3. Anteriormente, o applicationOpen Source exibia este erro: File "https://[bucket].s3.eu-central-1.amazonaws.com/[prefix]/tmp/phpLjGmHf" not found. GitHub-33072
  • Agora você pode desabilitar os emails de atualização de remessa conforme esperado de Lojas > Configuração > Vendas > Emails de Vendas. GitHub-33165
  • O Magento Open Source agora exibe o custo do frete gratuito (0) nos totais da página de fatura de Admin e da loja. Anteriormente, quando o envio era zero para um pedido, o aplicativo Open Source não exibia o valor do envio em totais no total de envio da página de fatura.
  • As solicitações de tarifas para transportadoras de remessa online foram reduzidas de várias solicitações para uma. O seguro de pacote e o preço de manuseio por item/pacote agora são calculados corretamente. Anteriormente, o applicationOpen Source exibia taxas de envio incorretas para métodos de envio FedEx.
  • O Magento Open Source agora exibe taxas de UPS ao criar etiquetas de remessa de Porto Rico. Anteriormente, o applicationOpen Source não exibia essas taxas de UPS.
  • O endereço da entrega agora é completamente liberado, conforme esperado, após ser removido da caixa de entrada. Anteriormente, a caixa de texto retinha um ou mais caracteres após a exclusão do endereço.

Loja

  • O recurso Fazer logon como cliente agora funciona conforme esperado em implantações que contêm várias lojas em URLs diferentes. Anteriormente, o applicationOpen Source não carregava o armazenamento correto, mesmo ao acessar o domínio de armazenamento correto.

Imposto

  • O Magento Open Source agora calcula corretamente o subtotal do minicarrinho quando um cliente exclui um item após selecionar delivery para vários endereços.
  • O Magento Open Source agora mostra a mesma alíquota de imposto em todas as páginas de check-out quando o carrinho de compras contém apenas produtos virtuais.
  • Os preços de nível dos produtos configuráveis agora exibem valores precisos de impostos incluídos e excluídos na loja. Anteriormente, os mesmos valores eram exibidos para impostos incluídos e excluídos. GitHub-33673

Teste

  • Os testes WebAPI agora são compatíveis com o PHP 8.1. GitHub-34653
  • Os comerciantes agora podem testar a experiência do comprador no país em que ele está localizado, em vez da localização do comerciante.

  • Testes funcionais foram estabilizados para compatibilidade com o PHP 8.x. GitHub-34327, GitHub-34188

  • Correção de problemas funcionais em testes de WebAPI. GitHub-34196
  • Correção de erros que resultavam em testes estáticos falsos positivos. GitHub-34056
  • Cobertura de teste atualizada para call_user_func_array. GitHub-34301
  • O teste Magento\GraphQl\CatalogGraphQl\ProductSearchTest não lança mais este erro quando executado com o Elasticsearch AWS: Magento\GraphQl\CatalogGraphQl\ProductSearchTest::testSearchSuggestions Failed asserting that an array is not empty. /var/www/html/dev/tests/api-functional/testsuite/Magento/GraphQl/CatalogGraphQl/ProductSearchTest.php:94 /var/www/html/dev/tests/api-functional/framework/Magento/TestFramework/TestCase/GraphQlAbstract.php:257.
  • Correção de vários avisos de teste de unidade não críticos, renomeando todas as variáveis de modelo para incluir o sufixo Mock e removendo referências a uma classe obsoleta do Gerenciador de Objetos. GitHub-33695

  • O teste Magento\Framework\MessageQueue\TopologyTest agora é compatível com o AWS MQ para o serviço RabbitMQ. Anteriormente, esse teste falhava com esta mensagem: Invalid exchange configuration: magento-topic-based-exchange1 Failed asserting that two arrays are equal.

  • Testes de unidade agora são compatíveis com o PHP 8.1. GitHub-34441

Testes de unidade

Os testes de unidade a seguir foram refatorados para usar PHPUnit em vez de AspectMock:

AllureHelperTest GitHub-33294

ObjectHandlerUtil GitHub-33584

MockModuleResolverBuilder GitHub-33583

MagentoTestCase GitHub-33582

ModuleResolverTest GitHub-33308

ParallelGroupSorterTest GitHub-33306

SuiteGeneratorTest GitHub-33299

OperationDataArrayResolverTest GitHub-33296

Tema

  • As mensagens de notificação agora são exibidas corretamente quando o Magento Open Source tem um subcaminho configurado em seu URL base.
  • Adição de um elemento aria-label ao modelo de página da loja para indicar a página para a qual o comprador navegará ao clicar em um link. Anteriormente, o mesmo texto de link era usado para links para páginas diferentes. GitHub-33075
  • O Magento Open Source não exibe mais uma mensagem de erro ao carregar a página inicial de uma loja com tema personalizado pré-existente. Anteriormente, o applicationOpen Source exibia esta mensagem: The store will not work correctly in the case when cookies are disabled.

Traduções e códigos de idiomas

  • O validador UserExpiration não falha mais com as localidades de_DE e uk_UA. Anteriormente, o Source applicationOpen gerava um erro quando um administrador tentava definir uma data de expiração ao criar um novo usuário no Administrador com localidades definidas como de_DE ou uk_UA. GitHub-32497
  • Os nomes das regiões da Suíça agora são apresentados de forma consistente em inglês nos formulários de criação ou edição de endereço. GitHub-32602
  • Atualização de zip_codes.xml padrões para Guernsey para oferecer suporte a códigos postais GY10 para a Ilha de Sark. GitHub-33144
  • Adição de regiões da Bielorrússia à tabela directory_country_region. GitHub-33924
  • Anomalias de exibição com vitrines que executam localidades filipinas (Filipinas) foram resolvidas. GitHub-33996
  • Agora é possível inserir com êxito uma data de nascimento do cliente ao criar uma nova conta em lojas definidas para um local em Português (Portugal). Anteriormente, o Magento Open Source apresentava um erro ao tentar criar uma conta. GitHub-34130
  • A página de detalhes do produto agora é exibida com sucesso com o código de idioma árabe (Arábia Saudita). Anteriormente, esse local quebrava a página de detalhes do produto.

IU

  • Erros corrigidos com testes MFTF que usam maps.googleapis.com.
  • O Magento Open Source agora corta os caracteres de espaço não separáveis do campo de entrada de email do formulário Fale conosco. Anteriormente, o formulário era enviado sem remover os caracteres de espaço sem quebra da entrada de email (se fornecida), o que causava erros nos arquivos de log. O campo Responder para também estava ausente da mensagem de email de contato gerada para o administrador de armazenamento.
  • O Magento Open Source agora exibe produtos relacionados, produtos de venda adicional e produtos de venda cruzada de acordo com suas posições no Administrador.
  • .action-close botões agora funcionam como esperado quando Multiselect é usado em um modal. Anteriormente, o botão action-close não funcionava porque herdou o CSS do botão .action-close do modal. GitHub-27240
  • O trecho rico de Ofertas agora está presente no campo de preço principal na Exibição do produto. Anteriormente, esse trecho não estava presente nesse campo do bloco produtos relacionados na Exibição do produto, o que fazia com que os resultados da pesquisa do Google exibissem preços incorretos. GitHub-34063
  • Problemas com a altura modal em dispositivos que executam o iOS foram resolvidos. GitHub-34467
  • Os menus suspensos Ações agora estão posicionados corretamente em toda a loja. GitHub-31379
  • Erros de acessibilidade com navegação no carrinho e páginas de check-out foram resolvidos. GitHub-34483
  • Agora, os leitores de tela podem ler todos os elementos de formulário relevantes nas páginas de produtos.
  • A ordem de classificação do widget de produto do catálogo da loja (Catálogo > Categoria > Produtos) agora corresponde à ordem configurada no Administrador. GitHub-27126
  • O seletor de região agora funciona conforme esperado na página Criar uma conta. GitHub-30099
  • A grade do cliente de Administração agora exibe todos os dados do cliente, incluindo os atributos personalizados date recém-adicionados, conforme esperado. Anteriormente, o Source applicationOpen gerava um erro e não exibia a grade de cliente Admin corretamente quando o conjunto de atributos date era definido como uma coluna.
  • Os rótulos de entrada na página de detalhes do Catálogo > Produto foram alterados para refletir com precisão a finalidade da entrada. Os campos para os quais a entrada do usuário não é necessária não exibem mais rótulos com um asterisco.
  • A barra de ferramentas do editor de rich text agora pode ser acessada usando a tecla Tab.
  • O nome acessível do controle agora inclui o texto de seu rótulo visível para o número de itens por lista suspensa de páginas.
  • Os controles de tabela na página de detalhes do Catálogo > Produto agora têm rótulos visíveis e um nome acessível quando a tabela é recolhida.
  • Os botões em toda a loja agora têm nomes acessíveis exclusivos e descritivos. Anteriormente, os botões divididos com um botão de texto e um botão de ícone de seta para baixo adjacente tinham o mesmo nome acessível.
  • Adicionada a opção de exibição Hoje aos gráficos do painel Pedidos e Valores do Administrador para fornecer um resumo de vendas e pedidos durante o dia. GitHub-34008
  • O estado ativo (clique) do botão de seleção múltipla Fechar agora funciona de forma consistente. GitHub-34338
  • O Magento Open Source não exibe mais esta mensagem após a atualização quando o Modo de Restrição de Cookie está desabilitado: The store will not work correctly in the case when cookies are disabled. GitHub-33811
  • Imagens de produto de tela inteira agora são exibidas corretamente em temas com direção de navegação em miniaturas verticais em dispositivos móveis. Anteriormente, as imagens do produto eram dimensionadas incorretamente ou invisíveis em temas com direção de navegação de miniatura vertical em dispositivos móveis no modo de tela cheia.
  • As mensagens de erro na página de detalhes do produto não desaparecem mais rapidamente quando a configuração Sincronizar produtos do widget com armazenamento de back-end está habilitada.
  • A validação para valores negativos foi adicionada ao campo Quantidade a Ser Retornada no formulário Criar Nova Devolução.
  • O Magento Open Source não exibe mais endereços duplicados quando um comprador clica em Alterar Endereço na página Revisar e Pagamentos em uma implantação na qual a definição de configuração Pesquisa de Endereço está habilitada.
  • O botão Adicionar Produtos agora está habilitado conforme esperado para administradores com permissões restritas ao trabalhar no escopo de exibição de loja na página Categoria do Administrador.
  • Os pontos de interrupção de exibição agora são consistentes no Magento Open Source.
  • O Magento Open Source agora exibe corretamente os atributos de data do cliente personalizados com localidades personalizadas na página do cliente Administração.
  • As imagens adicionadas usando o Page Builder não são mais duplicadas na loja quando exibidas com uma largura de janela de navegador de 768px. Anteriormente, com essa largura de janela do navegador, o aplicativo Abrir imagens duplicadas do Source na loja exibia as versões móvel e desktop das imagens.

Substituições de URL

  • As substituições de URL não são mais geradas novamente para todas as exibições de repositório durante a criação de uma nova exibição de repositório durante a execução de bin/magento setup:upgrade. GitHub-32954

Estrutura da API da Web

  • As solicitações de API da Web para recursos de clientes autoautorizados não geram mais erros de autorização quando o carrinho de compras persistente está ativado.
  • Agora você pode criar objetos usando as classes filho de \Magento\Framework\Api\AbstractSimpleObjectBuilder no PHP 7.3. Anteriormente, preg_match exibia esta mensagem de aviso quando o Magento Open Source estava hospedado no Redhat com PHP 7.3: Warning: preg_match(): Compilation failed: unrecognized character follows....
  • Os totais recuperados pela solicitação PUT /V1/guest-carts/:cartId/collect-totals agora são atualizados pela shippingMethod correta. GitHub-18508
  • Adicionar um novo desserializador à API REST não remove mais outros desserializadores. Anteriormente, a API REST aceitava um novo tipo de conteúdo, mas os tipos de conteúdo definidos pelo CORE para APIs não funcionavam mais e retornavam um erro 400. GitHub-26433
  • Agora você pode remover uma substituição de um parâmetro definido em um arquivo webapi.xml. GitHub-33843
  • O Magento Open Source agora gera um customertoken por solicitações da GraphQL ou da REST API, conforme esperado após várias tentativas consecutivas de logon com falha. Anteriormente, o applicationOpen Source não verificava se o valor de lock_expires_at em oauth_token_request_log era maior que a data e hora atuais, e sempre retornava o número de tentativas com falha, o que impedia o cliente de fazer logon. GitHub-34067
  • Adicionar uma ID de cotação mascarada a QuoteRepository::getList não causa mais um loop infinito. Anteriormente, o uso do processador de pagamento que dependia da API REST para atualizar pedidos acionava esse comportamento. GitHub-33675
  • O /rest/all/V1/categories/<above_created_category_id> A chamada PUT agora respeita os valores especificados por available_sort_by. Anteriormente, o menu suspenso Classificar por da Lista de Produtos Disponíveis era selecionado com todas as opções possíveis na página Categoria, e a caixa de seleção Usar Tudo era marcada. GitHub-32596
  • O desempenho das solicitações da API REST para criar tokens do cliente foi aprimorado.
  • Correção de um erro que ocorria quando Adicionar código de armazenamento a URLs estava definido como Sim e uma chamada REST não incluía um código de armazenamento. Embora a carga fosse válida, a chamada retornou o seguinte erro: Fatal error: Allowed memory size of **&#x200B;**&#x200B;**&#x200B;**&#x200B;**&#x200B; bytes exhausted (tried to allocate &#x200B;**&#x200B;** bytes) in vendor/magento/module-store/Model/StoreRepository.php on line 75.
  • Agora faturas parciais para o mesmo pedido podem ser criadas simultaneamente usando a API REST.

Lista de desejos

  • o Magento Open Source não processa mais uma lista de desejos na barra lateral da categoria quando a opção Mostrar na barra lateral da lista de desejos está desabilitada. Anteriormente, o applicationOpen Source ignorava essa opção.

WYSIWYG

  • Agora o PageBuilder renderiza corretamente os widgets personalizados com o editor WYSIWYG.

Problemas conhecidos

Problema: os comerciantes podem notar avisos de downgrade de versão do pacote durante a atualização do Adobe Commerce 2.4.4 para o Adobe Commerce 2.4.4-p1. Essas mensagens podem ser ignoradas. A discrepância nas versões do pacote resulta de anomalias durante a geração do pacote. Nenhuma funcionalidade do produto foi afetada. Consulte o artigo da Base de Dados de Conhecimento Pacotes desatualizados após a atualização de 2.4.4 para 2.4.4-p1 para obter uma discussão sobre cenários afetados e soluções alternativas.

Problema: os compradores não podem adicionar um produto ao carrinho quando nenhuma opção está selecionada em Admin Loja > Configuração > Geral > Opções de País > Permitir Países. Em vez disso, o aplicativo Open Source exibe este erro de console: Failed to load resource: the server responded with a status of 400 (Bad Request).

Problema: a descrição de Dotdigital em Localizar Parceiros e Extensões > Magento Marketplace está desatualizada. Veja uma descrição atualizada:

A Dotdigital é uma plataforma de engajamento do cliente que ajuda profissionais de marketing e desenvolvedores digitais a fornecer comunicações em toda a jornada do cliente. Aproveitamos o potencial dos dados do cliente, alimentando o engajamento, a conversão e a fidelidade para as marcas à medida que elas crescem e se expandem. Os clientes adoram nossa plataforma fácil de usar, que conecta dados primários em todos os sistemas, detectando insights poderosos e automatizando mensagens preditivas entre canais.

Os mais de 350 funcionários da Dotdigital atendem empresas de médio porte e corporativas em todo o mundo e em vários setores. Nós aspiramos a inspirar o marketing responsável e estamos comprometidos com a sustentabilidade, a privacidade e a segurança. A Dotdigital tem orgulho de ser a primeira plataforma de automação de marketing neutra em carbono do mundo, certificada para ISO 14001, ISO 27701 e ISO 27001.

Consulte Dotdigital — Automação de Marketing para obter informações de compra e download.

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, o número da solicitação de pull externa e o número do problema do GitHub associado a ela (se disponível).

Parceiro
Solicitações Pull
Problemas relacionados do GitHub
Atwix
magento/magento2#33787 magento/magento2#33662 magento/magento2#33661 magento/magento2#33431 magento/magento2#33232 magento/magento2#33218 }magento/magento2#33214 magento/magento2#32226 magento/magento2#32139 magento/magento2#32133 magento/magento2#32117 magento/magento2#3 2112
magento/magento2#33689 magento/magento2#33635 magento/magento2#33556 magento/magento2#33806 magento/magento2#32381 magento/magento2#33786 }magento/magento2#33785 magento/magento2#33784 magento/magento2#33775
Atwix
magento/magento2#34839 magento/magento2#34827 magento/magento2#34821 magento/magento2#34820 magento/magento2#34819 magento/magento2#34793 }magento/magento2#34788 magento/magento2#34781 magento/magento2#34774 magento/magento2#34769 magento/magento2#34737 magento/magento2#3 4617 magento/magento2#34522 magento/magento2#34492 magento/magento2#34491 magento/magento2#34470 magento/magento2#34419 3} magento/magento2#34418 magento/magento2#34410 magento/magento2#34400 magento/magento2#34346 magento/magento2#34302 magento magento2#34298 magento/magento2#34257 magento/magento2#34256 magento/magento2#34207 magento/magento2#34152 magento/magento2#341 49 magento/magento2#34128 magento/magento2#34114 magento/magento2#34113 magento/magento2#34110 magento/magento2#34099 🔗 magento/magento2#34076 magento/magento2#34075 magento/magento2#34051 magento/magento2#34022 magento/magento2#33999 magento/magento2 33787 magento/magento2#33727 magento/magento2#33683 magento/magento2#33682 magento/magento2#33662 magento/magento2#33661 87 magento/magento2#33571 magento/magento2#33549 magento/magento2#33547 magento/magento2#33530 magento/magento2#33454 magento ento/magento2#33431 magento/magento2#33232 magento/magento2#33218 magento/magento2#33214 magento/magento2#33149 magento/magento2#33124 magento/magento2#33106 magento/magento2#32999 magento/magento2#32997 magento/magento2#329 86 magento/magento2#32877 magento/magento2#32792 magento/magento2#32771 magento/magento2#32282 magento magento2#32226 magento/magento2#32139 magento/magento2#32133 magento/magento2#32117 magento/magento2#32112 magento/magento2#31963 magento/magento2#31894 magento/magento2#31877 magento/magento2#31785 magento/magento2#317 74 magento/magento2#31100 magento/magento2#30803 magento/magento2#30562 magento/magento2#30526
magento/magento2#34579 magento/magento2#34490 magento/magento2#34422 magento/magento2#34510 magento/magento2#34414 magento/magento2#34511 }magento/magento2#34435 magento/magento2#34512 magento/magento2#34317 magento/magento2#32948 magento/magento2#26254 magento/magento2#3 4316 magento/magento2#34314 magento/magento2#34313 magento/magento2#34312 magento/magento2#34311 magento/magento2#34315 3} magento/magento2#33747 magento/magento2#33589 magento/magento2#33689 magento/magento2#33531 magento/magento2#33635 magento magento2#33556 magento/magento2#33806 magento/magento2#32615 magento/devdocs#9248 magento/magento2#32991 magento/magento2#3282 1 magento/magento2#33788 magento/magento2#32381 magento/magento2#33786 magento/magento2#33785 magento/magento2#33784 }magento/magento2#33775 magento/magento2#33783 magento/magento2#30828 magento/magento2#33774 magento/magento2#33773
Blue Acorn iCi
magento/magento2#34484
Krish TechnoLabs
magento/magento2#34442 magento/magento2#34423 magento/magento2#34171 magento/magento2#34157
Olho de peixe
magento/magento2#34185 magento/magento2#32720 magento/magento2#25279
magento/magento2#34513 magento/magento2#34356 magento/magento2#29647 magento/magento2#30241
Consultoria em alinhamento
magento/magento2#33844
Gato Branco Rápido
magento/magento2#33658
magento/magento2#33839
TechDivision
magento/magento2#33369
magento/magento2#34451
MediaCT
magento/magento2#33227
magento/magento2#33984
Basecom
magento/magento2#32891
magento/magento2#32885
COMMERCE MRM
magento/magento2#32637
magento/magento2#32636
E comercial
magento/magento2#31879
maritos/magento2-performance-fixes#4
Brandung
magento/magento2#31654
magento/magento2#30948
EY
magento/magento2#30995
magento/magento2#31019 magento/magento2#32625 magento/magento2#33696
Monção
magento/magento2#30001
magento/magento-semver#50
Netz98
magento/magento2#27212
magento/magento2#29609
Olho de peixe
magento/magento2#25279
magento/magento2#29647 magento/magento2#30241

Contribuições individuais do contribuinte

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

Membro da comunidade contribuinte
Solicitações Pull
Problemas relacionados do GitHub
hostep
magento/magento2#34873
magento/magento-beta#47
hostep
magento/magento2#34555
bitExpert/phpstan-magento#152
kate-kyzyma
magento/magento2#34491
magento/magento2#34579
kate-kyzyma
magento/magento2#34470
magento/magento2#34490
kate-kyzyma
magento/magento2#34419
magento/magento2#34422
kate-kyzyma
magento/magento2#34418
magento/magento2#34510
kate-kyzyma
magento/magento2#34410
magento/magento2#34414
kate-kyzyma
magento/magento2#34400
magento/magento2#34511
hostep
magento/magento2#34361
magento/magento2#32252
kate-kyzyma
magento/magento2#34302
magento/magento2#34435
kate-kyzyma
magento/magento2#34298
magento/magento2#34512
mrtuvn
magento/magento2#34290
magento/magento2#34467
kate-kyzyma
magento/magento2#34256
magento/magento2#34317
vovsky
magento/magento2#34207
magento/magento2#32948 magento/magento2#26254
fredden
magento/magento2#34185
magento/magento2#34513
AZiniukhin
magento/magento2#34148
magento/magento2#34130
kate-kyzyma
magento/magento2#34113
magento/magento2#34316
kate-kyzyma
magento/magento2#34110
magento/magento2#34314
kate-kyzyma
magento/magento2#34099
magento/magento2#34313
kate-kyzyma
magento/magento2#34075
magento/magento2#34312
kate-kyzyma
magento/magento2#34051
magento/magento2#34311
AnnaAPak
magento/magento2#34022
magento/magento2#34315
sagar2009kumar
magento/magento2#34001
magento/magento2#34067
Bashev
magento/magento2#34000
magento/magento2#33996
thlassche
magento/magento2#33998
magento/magento2#34024 magento/magento2#34025
LyraGhost
magento/magento2#33948
magento/magento2#34338
DmitryFurs
magento/magento2#33922
magento/magento2#33924
ihor-sviziev
magento/magento2#33903
magento/magento2#33928 magento/magento2#23324
redefinir
magento/magento2#33886
magento/magento2#33680 magento/magento2#33755 magento/magento2#33945
NetStorm84
magento/magento2#33874
magento/magento2#34008 magento/marketdocs#1686
vovayatsyuk
magento/magento2#33851
magento/magento2#34483
AnnaAPak
magento/magento2#33727
magento/magento2#33747
marvinhinz
magento/magento2#33726
magento/magento2#33760 magento/magento2#33908
SilinMykola
magento/magento2#33682
magento/magento2#33589
AnnaAPak
magento/magento2#33662
magento/magento2#33689
Bartlomiejsz
magento/magento2#33658
magento/magento2#33839
sergiy-v
magento/magento2#33530
magento/magento2#33531
qsolutions-pl
magento/magento2#33487
magento/magento2#33486
Jitheesh
magento/magento2#33468
fastly/fastly-magento2#466 magento/magento2#28102 magento/magento2#6401
monteshot
magento/magento2#33449
magento/magento2#33334
AnnaAPak
magento/magento2#33431
magento/magento2#33635
ihor-sviziev
magento/magento2#33419
magento/magento2#34166
sippsolutions
magento/magento2#33369
magento/magento2#34451
ihor-sviziev
magento/magento2#33324
klaviyo/magento2-klaviyo#133 magento/magento2#33675 magento/magento2#33676
jasperzeinstra
magento/magento2#33227
magento/magento2#33984
kate-kyzyma
magento/magento2#33218
magento/magento2#33556
kate-kyzyma
magento/magento2#33214
magento/magento2#33806
KeyShang
magento/magento2#33202
magento/magento2#33101
manavluhar
magento/magento2#33172
magento/magento2#33698
manavluhar
magento/magento2#33130
magento/magento2#33143
DrJohnM
magento/magento2#33128
magento/magento2#33144
khrystynastolbova
magento/magento2#33106
magento/magento2#32615 magento/devdocs#9248
LyraGhost
magento/magento2#33098
magento/magento2#34338
engcom-Kilo
magento/magento2#33095
magento/magento2#32930
bradleybrecher
magento/magento2#33067
magento/magento2#33075
engcom-Foxtrot
magento/magento2#33001
magento/magento2#32596
DmitryTsymbal
magento/magento2#32986
magento/magento2#32991
fraudadores
magento/magento2#32891
magento/magento2#32885
blmage
magento/magento2#32818
magento/magento2#33434
MJTheOne
magento/magento2#32814
magento/magento2#32819
ihor-sviziev
magento/magento2#32808
magento/magento2#32954
Usik2203
magento/magento2#32792
magento/magento2#32821
fredden
magento/magento2#32720
magento/magento2#34356
bgorski
magento/magento2#32637
magento/magento2#32636
hostep
magento/magento2#32286
magento/magento2#32289 magento/magento2#28326
kate-kyzyma
magento/magento2#32282
magento/magento2#33788
AnnaAPak
magento/magento2#32226
magento/magento2#32381
kate-kyzyma
magento/magento2#32139
magento/magento2#33786
kate-kyzyma
magento/magento2#32112
magento/magento2#33775
kate-kyzyma
magento/magento2#31963
magento/magento2#33783
conveniente
magento/magento2#31879
maritos/magento2-performance-fixes#4
nige-one
magento/magento2#31654
magento/magento2#30948
kirmorozov
magento/magento2#31613
magento/magento2#33809
mrtuvn
magento/magento2#31413
magento/magento2#31379
dani97
magento/magento2#30995
magento/magento2#31019 magento/magento2#32625 magento/magento2#33696
AnnaAPak
magento/magento2#30803
magento/magento2#30828
kate-kyzyma
magento/magento2#30562
magento/magento2#33774
Usik2203
magento/magento2#30526
magento/magento2#33773
hws47a
magento/magento2#30001
magento/magento-semver#50
philippsander
magento/magento2#27212
magento/magento2#29609

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 Magento Open Source 2.4.4 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