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.
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.
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
eMDVA-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:
- IP ➡ incluir na lista de permissões
- autenticação de dois fatores
- uso de uma VPN
- uso de um local único em vez de
/admin
- boa higiene de senha
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 bibliotecajquery-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
ecache
para guias. Consulte Guias. -
.zIndex()
. jQuery UI v1.12.1 incluijquery/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.
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 valorestime
emconfig.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
emin
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 deindexer_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 moedaPLN
. 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
comonull
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çãoauto
, 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.
Catálogo
- 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.
Regra de catálogo
- 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
- 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çãoUrlInterface
getUrl
. Esse valor distingue URLs em relação a diferentes lojas/sites e gera umbaseUrl
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 executarbin/magento setup:di:compile
. GitHub-33595
- Novas opções necessárias foram adicionadas aos arquivos
.htaccess
enginx.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(__())
esprintf(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 desuccess
. Anteriormente, o mesmo processocron
podia ser executado duas vezes porquecron
processos bem-sucedidos receberam um statuspending
.
- 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
emmagento2/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
erevokeCustomerToken
agora fornecem a ID de cache correta para o estado do usuário. Anteriormente, essas mutações usavam umx-magento-cache-id
inválido, o que degradava o desempenho.
- A mutação
setBillingAddressToCart
agora usa corretamente o parâmetrosame_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
eaddProductsToCart
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 sinalizadorincludeDirectChildrenOnly
é 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 consultacustomer
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 oconfig.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 emclassType
agora são os mesmos em arquivosindexer.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()
eround()
para compatibilidade com PHP7.x e PHP8.x. GitHub-34322
- Atualizar
symfony/console
não causa mais falha ao executarbin/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 deMagento/WidgetSampleData
(Magento Open Source) paraMagento/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 pordi.xml
.
Generator.php
otimizado para legibilidade. GitHub-33809
- 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
jquery-validate
biblioteca de terceiros GitHub-33853
Less.js
(v3.13.1) GitHub-32845
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çãomoney_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.
- A criação automática de matrizes de valores falsos não é mais permitida. GitHub-34499, GitHub-34589
Adobe Commerce coding standard
- Atualizado
phpunit/ phpunit
para a versão mais recente do repositóriomagento-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 objetoCurlHandle
em vez de um recurso. A funçãocurl_close()
não tem mais efeito. Em vez disso, a instânciaCurlHandle
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ódulosCatalogSearch
,GroupedProduct
,Newsletter
,Paypal
,Quote
eReview
. 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
CreateProductAttributeEntityWithReservedKeysTest
GitHub-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 deglob()
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 atributocategory_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 testes de integração agora são compatíveis com o PHP 8.1. GitHub-34567, GitHub-34569
-
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 localidadesde_DE
euk_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 comode_DE
ouuk_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 quandoMultiselect
é usado em um modal. Anteriormente, o botãoaction-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 atributosdate
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 pelashippingMethod
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 delock_expires_at
emoauth_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 poravailable_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 **​**​**​**​**​ bytes exhausted (tried to allocate ​**​** 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).
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).
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.