Notas de versão do Adobe Commerce 2.4.4
O Adobe Commerce 2.4.4 apresenta 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 desses recursos esteja incluído nas versões trimestrais do código principal do Adobe Commerce, vários desses projetos (por exemplo, B2B, Page Builder e Progressive Web Application (PWA) Studio) também são lançados independentemente. As correções de erros para esses projetos estão documentadas nas informações de versão separadas e específicas do projeto, disponíveis na documentação de cada projeto.
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 Adobe Commerce 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.
Aplique este hotfix após instalar a 2.4.4
Recomendamos que você aplique o seguinte patch após instalar o Adobe Commerce 2.4.4:
braintree-disabled-partial-capture-for-applepay-googlepay.patch
. Os comerciantes não podem enviar reembolsos parciais para pedidos pagos com o Apple Pay through Braintree. Quando um comerciante tenta criar um aviso de crédito para um reembolso parcial da fatura do pedido, o campo Qtd. para Reembolso não é editável. Essa correção aborda esse problema. Consulte o artigo da Base de Dados de Conhecimento Adobe Commerce 2.4.4: Não é possível criar faturas parciais.
Destaques do Adobe Commerce 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. O backup desta correção de segurança foi feito no Adobe Commerce 2.4.3-p2 e Adobe Commerce 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 Adobe Commerce 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 Adobe Commerce está no modo de produção.
-
O HTTPS agora está ativado por padrão para a loja da Adobe Commerce. 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 confusão de dependência agora é necessário para todas as instalações do Adobe Commerce. 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 Adobe Commerce 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 da Adobe Commerce 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
O Adobe Commerce 2.4.4 é compatível com o 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 Adobe Commerce 2.4.4 fornece suporte para o Elasticsearch 7.16 e OpenSearch 1.2. Os comerciantes do Adobe Commerce com implantações hospedadas no local podem usar qualquer solução. No entanto, o OpenSearch agora é o mecanismo de pesquisa padrão para implantações do Adobe Commerce 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.
Aprimoramentos de desempenho e escalabilidade
As melhorias de desempenho do Adobe Commerce aumentam o processamento de pedidos de alta taxa de transferência e a otimização da fila de mensagens. O recurso de pedidos assíncronos introduzido nesta versão oferece suporte à criação de aproximadamente 60.000 pedidos/hora. As versões anteriores do Adobe Commerce aceitavam o processamento de aproximadamente 10.000 pedidos por hora, o que apresentava um possível gargalo para vendas rápidas. O novo recurso de vários consumidores oferece suporte ao dimensionamento do número de consumidores da fila de mensagens em uma única instância da nuvem e aumenta o número de pedidos processados por hora.
Melhorias de desempenho nesta versão:
-
O recurso AsyncOrder oferece posicionamento mais rápido de pedidos do que a execução síncrona. Quando AsyncOrder está habilitado, o posicionamento do pedido é executado em segundo plano enquanto os compradores concluem outras tarefas na loja.
-
A nova opção de configuração Habilitar verificação de inventário ao carregar o carrinho fornece uma verificação de inventário alternável ao carregar um produto no carrinho. Ela é ativada por padrão. Quando você desativa essa opção, o Adobe Commerce ignora a verificação de inventário à medida que a cotação é carregada, o que acelera a verificação, especialmente para carrinhos que contêm muitos itens.
-
A nova opção de configuração
multiple_processes
dá suporte à execução de consumidores paralelos em vários processos. Anteriormente, ocron
executava um único consumidor quando necessário. Iniciar vários consumidores para executar processos em paralelo pode melhorar a velocidade de execução da tarefa. Para habilitar este recurso, adicionemultiple_processes
ao arquivoapp/etc/env.php
. -
As operações de carrinho para carrinhos contendo mais de 750 produtos configuráveis foram aprimoradas com o aumento do limite de memória definido por
max_input_vars
no arquivophp.ini
para dar suporte ao volume de variáveis de entrada. -
Otimização do processamento de regras de vendas durante o check-out adiando o cálculo do total. Normalmente, o processamento de regras de vendas ocorre sempre que um comprador adiciona um produto ao carrinho, atualiza a quantidade do produto ou clica no botão Fazer pedido. Os comerciantes podem habilitar esse adiamento definindo a variável
checkout/deferred_total_calculating
no arquivoenv.php
. Como alternativa, você pode executarbin/magento setup:config:set --deferred-total-calculating 1|0
. -
Melhorias no processo de validação para pedidos afetados por uma regra de preço de carrinho durante o posicionamento assíncrono do pedido.
Consulte Processamento de pedido de alta taxa de transferência.
GraphQL
Esta versão inclui estes aprimoramentos da GraphQL:
- Cobertura completa do GraphQL para cotações negociáveis. Os usuários da empresa B2B agora podem concluir todas as tarefas relacionadas a cotações negociáveis usando o GraphQL. As versões anteriores dessa API aceitavam fluxos de negociação, mas não check-out.
Novas mutações
-
Mutação de
assignCustomerToGuestCart
-
Mutação de
placeNegotiableQuoteOrder
-
Mutação de
setNegotiableQuoteBillingAddress
-
setNegotiableQuotePaymentMethod
mutação -
Mutação de
setNegotiableQuoteShippingMethods
-
Mutação de
setNegotiableQuoteShippingAddress
-
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.
B2B
Esta versão inclui várias correções de erros. Consulte Notas de versão B2B.
Extensões agrupadas pelo fornecedor
Com exceção de Braintree, todas as extensões agrupadas por fornecedor foram removidas da base de código Adobe Commerce 2.4.4. Os comerciantes devem migrar para as extensões oficiais, que estão disponíveis no Commerce Marketplace.
PWA Studio
O PWA Studio v.12.3.0 é compatível com o Adobe Commerce 2.4.4. Ele inclui suporte para reCaptcha, otimização de conteúdo do Page Builder e conteúdo personalizado. Para obter informações sobre aprimoramentos e correções de erros, consulte versões de PWA Studio. Consulte Compatibilidade de versão para obter uma lista de versões do PWA Studio e suas versões principais compatíveis do Adobe Commerce.
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.
Live Search
O Live Search agora suporta o PHP 8.1.
O novo módulo Magento_ElasticsearchCatalogPermissionsGraphQl
está desabilitado durante a instalação atualizada do Live Search. As instalações existentes do Live Search devem ser atualizadas para o Live Search 2.0.0 para aproveitar esses recursos. Para obter mais informações, consulte as Notas de versão do Live Search.
Atualizações de acessibilidade
Essa versão traz maior conformidade com as diretrizes de acessibilidade padrão. Esses aprimoramentos melhoram a experiência de usuários com visão limitada ou com habilidades limitadas de linguagem, cognitivas e de aprendizado. O desempenho das ferramentas de Reader de tela também melhorou.
Os aprimoramentos de acessibilidade incluem:
- A dica de ferramenta vincula-se ao texto e aos rótulos precisos, focados em tarefas e visíveis para entradas
- Os botões de edição agora têm texto exclusivo.
- Agora, os botões do administrador têm um propósito exclusivo, acessível e descritivo de adesão aos padrões AA
- Imagens de ícones que transmitem significado agora fornecem uma alternativa textual.
- Contraste aprimorado nos botões do administrador e campos de formulário para uma relação de contraste de pelo menos 3:1 com cores adjacentes.
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 do Adobe Commerce 2.4.4. Um subconjunto desses problemas corrigidos está descrito abaixo.
Instalação, atualização, implantação
- O Adobe Commerce 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 Adobe Commerce 2.4.2 com Klarna para o Adobe Commerce 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 Adobe Commerce exibia este erro quando você tentava alterar a configuração do mapa de site fora do Administrador:
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.
AdminGWS
- Os administradores com permissões restritas agora podem criar um retorno conforme esperado.
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 Adobe Commerce exibia este erro:
Invalid security or form key. Please refresh the page
.
- O Adobe Commerce 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 Adobe Commerce 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 Adobe Commerce exibia uma contagem de produtos incorreta na página da categoria após a atualização em massa de muitos produtos na categoria.
- A Adobe Commerce agora atualiza o cache do produto da categoria conforme esperado quando um produto incluído reaparece em estoque.
- 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.
- 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 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 Adobe Commerce 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 Adobe Commerce 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
- A Adobe Commerce 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.
- A Adobe Commerce 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 Adobe Commerce 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.
- A Adobe Commerce não lança esse erro mais 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 Adobe Commerce 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 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.
- A Adobe Commerce 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 Adobe Commerce não lança mais um erro quando você usa a mutação
addConfigurableProductsToCart
para adicionar um filho desabilitado de um produto configurável ao carrinho. Anteriormente, o Adobe Commerce exibia um erro de violação de restrição de integridade.
- Os produtos de venda cruzada não estarão mais visíveis na página do carrinho quando a configuração Mostrar itens de venda cruzada no carrinho de compras estiver desativada.
- 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, a Adobe Commerce não aceitaria o endereço editado e lançaria 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 Adobe Commerce 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 Adobe Commerce é configurado com a regra de preço de valor fixo para carrinho inteiro. Anteriormente, o Adobe Commerce 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 Adobe Commerce 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 Adobe Commerce não modifica mais os preços do produto relacionado 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.
- Agora, os administradores podem atribuir novamente o último produto restante em uma categoria e salvar a categoria vazia.
- 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
- 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 Adobe Commerce agora exibe a mensagem de erro padrão. Anteriormente, o Adobe Commerce exibia este erro:
PHP Error: Cannot instantiate abstract class Magento\Catalog\Controller\Product\Compare
.
- A Adobe Commerce 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.
- 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 usávamos essa categoria para criar uma regra de catálogo, o Adobe Commerce 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 Adobe Commerce 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 Adobe Commerce 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 Adobe Commerce não lança mais um erro interno quando você tenta adicionar um filho desativado de um produto configurável ao carrinho.
Cliente
- A Adobe Commerce 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
Segmento do cliente
- A contagem de Clientes correspondentes para um novo segmento de cliente agora é atualizada automaticamente quando você cria uma conta de empresa. Anteriormente, era necessário atualizar os dados do segmento para obter uma contagem precisa.
- 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 Adobe Commerce 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 Adobe Commerce 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 Adobe Commerce 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 Adobe Commerce emitia um erro. GitHub-33908
- Dependência do Composer
allure-framework/allure-php-api
atualizada.
- O Adobe Commerce agora retorna um código de resposta 500 quando ocorre uma exceção no arquivo de inicialização. Anteriormente, o Adobe Commerce 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 o Adobe Commerce 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 Adobe Commerce exibia este erro:
Notice: Undefined index: extension in /app/7ha7zds7wvqys_stg/vendor/magento/framework/File/Uploader.php on line 699
. Isso ocorreu porque o Adobe Commerce tentou anexar uma extensão de arquivo ao nome independentemente de o 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 Adobe Commerce 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 Adobe Commerce criava um backup, mas emitia 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 trabalho
staging_synchronize_entities_period
cron
agora funciona conforme esperado. Anteriormente, a primeira atualização de preparo era aplicada com êxito, mas o Adobe Commerce exibia esse erro com atualizações subsequentes:report.ERROR: Cron Job staging_synchronize_entities_period has an error: The active update can't be deleted
.
- O módulo
Magento_Logging
agora dá suporte a IPv6.
Correções gerais
- O Adobe Commerce 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
.
- A Adobe Commerce não aplica mais o arredondamento delta a um desconto quando o preço do produto é 0. Anteriormente, o Adobe Commerce 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 Adobe Commerce exibia 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
.
- O Adobe Commerce não duplica mais uma página CMS existente na hierarquia do CMS quando você altera seu identificador de URL de SEO. Anteriormente, o Adobe Commerce criava um novo nó na hierarquia do CMS, duplicando um nó existente.
- 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 Adobe Commerce exibia 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.
- O Adobe Commerce agora salva com êxito uma página do CMS ao editá-la em linha no nível da exibição de armazenamento quando a configuração Usar a hierarquia de nó pai está desabilitada. Anteriormente, o Adobe Commerce exibia este erro e não salvava suas edições de página do CMS:
A technical problem with the server created an error. Try again to continue what you were doing. If the problem persists, try again later
.
- As navegações estruturais agora são exibidas corretamente para nós que contêm a mesma página. Anteriormente, o Adobe Commerce exibia o mesmo nome de nó para páginas que pertenciam a vários nós. O Adobe Commerce recuperou apenas o primeiro nó de uma página, mesmo quando havia mais de um nó para cada página.
- Agora, os eventos de edição em linha de regravação de URL são relatórios conectados.
- O cookie
mage-messages
não será redefinido se não houver novas mensagens.
Cartões-presente
- Adicionada uma mensagem de erro mais informativa quando um comprador insere um vale-presente inválido.
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 Adobe Commerce 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.
- O GraphQL agora fornece à New Relic nomes de transação descritivos, que podem ser úteis para depuração. GitHub-30915
- 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 Adobe Commerce exibia 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 Adobe Commerce não emite mais um erro ao liberar 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 Adobe Commerce 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 Adobe Commerce exibia o carimbo de data e hora UTC.
- O Adobe Commerce 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 Adobe Commerce 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 Adobe Commerce 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 Adobe Commerce 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 Adobe Commerce 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 Adobe Commerce emitia 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 para compatibilidade com o PHP 8.1
-
Funções que foram descontinuadas no PHP 8.1 foram removidas da base de código. GitHub-34497
-
Foram adicionadas declarações de tipo de retorno a métodos internos com tipos de retorno incompletos para compatibilidade com o PHP 8.1. GitHub-34498
-
Atualização do metapackage
composer.json
raiz e do arquivocomposer.json
de cada módulo para o PHP 8.1. GitHub-34009 -
Biblioteca
jquery.tabs
de terceiros (versão mais recente) -
Pacotes NPM (versão mais recente) GitHub-33512, GitHub-33972
-
jquery.cookie
biblioteca de terceiros (versão mais recente) GitHub-34427
Atualizações de dependência do Composer
-
Todas as dependências do Composer foram atualizadas para as versões compatíveis com o PHP 8.1.
-
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.
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 Adobe Commerce 2.4.x têm suporte incorporado para essa 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 Adobe Commerce 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 Adobe Commerce emitia um erro e não processava o reordenamento.
- As faturas de pedidos pagos por crédito de armazenamento e que têm impostos fixos sobre o produto (FPT) aplicados agora incluem o total geral correto.
- A página de detalhes do pedido do administrador agora é carregada conforme esperado. Anteriormente, o Adobe Commerce emitia 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 Adobe Commerce emitia um erro quando um administrador com essas permissões tentava visualizar 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.
- O
bin/magento setup:upgrade
agora é executado conforme esperado ao atualizar do Adobe Commerce 2.4.2-p1. Anteriormente, o Adobe Commerce exibia 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 Adobe Commerce 2.4.3.
PayPal
- O Adobe Commerce 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 Adobe Commerce 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 Adobe Commerce 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
- Adição de um índice a
magento_giftcardaccount.code
para melhorar o 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
- O Adobe Commerce, por padrão, 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.
- O carregamento das páginas de detalhes do produto com produtos relacionados foi otimizado. As consultas de condições de produto relacionadas também foram otimizadas.
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.
- O Adobe Commerce 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 Adobe Commerce lançava uma exceção no arquivo de log.
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 Adobe Commerce lançava uma exceção de falta de memória ao enviar mais de 100.000 alertas de produto. O Adobe Commerce também levou mais de 20 horas para enviar todos os alertas.
Vídeo do produto
- O Adobe Commerce agora habilita o botão Salvar e preenche automaticamente os campos quando você insere 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.
Autorizações de devolução de produto (RMA)
- A grade Criar Produto de Devolução do Administrador agora exibe imposto, incluindo preços somente para produtos configurados para exibir imposto com preços. Anteriormente, o Adobe Commerce não verificava as configurações de exibição no sinalizador
tax/calculation/price_includes_tax
.
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.
Recompensas
- Saldo de Pontos de Recompensa e Histórico de Pontos de Recompensa agora exibem o mesmo saldo. Os pontos expirados agora são deduzidos corretamente. Anteriormente, o Saldo de pontos de premiação não refletia com precisão os pontos expirados.
- Os pontos de premiação expirados agora estão marcados como Expirado na seção Motivo da grade Histórico de pontos de premiação da vitrine.
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.
- A Adobe Commerce agora remove as marcas HTML como esperado da página Conta > Meus Pedidos > Exibir pedido da loja. Anteriormente, o Adobe Commerce exibia as tags HTML na seção de comentário de ordem 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 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 Adobe Commerce usa a configuração da etapa de navegação de preço ao filtrar atributos de preço personalizados. Anteriormente, o Adobe Commerce 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 Adobe Commerce 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.
- O Adobe Commerce 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.
- A Adobe Commerce 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 Adobe Commerce 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 Adobe Commerce 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 Adobe Commerce não exibia o valor do envio nos 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 Adobe Commerce exibia taxas de envio incorretas para os métodos de envio do FedEx.
- A Adobe Commerce agora exibe taxas UPS ao criar etiquetas de remessa de Porto Rico. Anteriormente, o Adobe Commerce 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.
Estágios
- As imagens e os vídeos de atualização programados do produto foram salvos corretamente. Anteriormente, vídeos, URLs, títulos e descrições eram removidos após a criação de uma nova atualização programada.
- O Adobe Commerce agora exibe o atributo de Preço mínimo anunciado no formulário Agendar nova atualização para as exibições de loja para as quais o atributo está ativado.
- O Adobe Commerce agora exibe apenas uma guia Imagens no formulário Atualização agendada do produto, conforme esperado. Anteriormente, o Adobe Commerce duplicava essa guia.
- O status do estoque do produto agora é exibido corretamente nas visualizações de Atualização de agendamento. Anteriormente, o status do produto era exibido como indisponível quando um produto anteriormente desabilitado era habilitado durante a criação da Atualização da programaçã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 Adobe Commerce não carregava o armazenamento correto, mesmo ao acessar o domínio de armazenamento correto.
Ferramenta de análise do site
- Os comerciantes agora podem acessar a Ferramenta de análise do site conforme esperado. Anteriormente, pares de chaves quebrados impediam alguns comerciantes de acessar a ferramenta.
Imposto
- Agora, a Adobe Commerce calcula corretamente o subtotal do minicarrinho quando um cliente exclui um item após selecionar delivery para vários endereços.
- O Adobe Commerce 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.
- O consumo de memória de teste de integração foi reduzido, o que melhora o desempenho do teste e reduz o tempo necessário para a conclusão do teste.
- Adição de um teste para verificar o formato de atributo de data personalizado para vitrine e administração.
- Erros corrigidos com
StorefrontPOWorkflowVerifyApprovalFlowTabTest
. GitHub-34378
- 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 Adobe Commerce 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 Adobe Commerce não exibe mais uma mensagem de erro ao carregar a página inicial de uma loja com tema personalizado pré-existente. Anteriormente, o Adobe Commerce 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 Adobe Commerce emitia um erro quando um administrador tentava definir uma data de expiração ao criar um novo usuário pelo 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 Adobe Commerce emitia 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 Adobe Commerce agora elimina 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 Adobe Commerce 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 Adobe Commerce emitia um erro e não exibia a grade de cliente do Administrador 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 Adobe Commerce 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 Adobe Commerce não exibe mais endereços duplicados quando um comprador clica em Alterar Endereço na página Revisão 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 Adobe Commerce.
- O Adobe Commerce 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 Adobe Commerce duplicava imagens na loja ao exibir 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
Visual Merchandiser
- A opção de classificação automática Mover do estoque para o fim do Visual Merchandiser agora funciona como esperado para produtos configuráveis quando todos os produtos simples estão indisponíveis.
- A regra do Visual Merchandiser não é mais salva quando nenhuma condição é adicionada.
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 Adobe Commerce 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 Adobe Commerce 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, a Adobe Commerce 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 falhas, 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 Adobe Commerce não renderiza mais uma lista de desejos na barra lateral da categoria quando a opção de lista de desejos Mostrar na barra lateral está desabilitada. Anteriormente, o Adobe Commerce ignorava essa opção.
WYSIWYG
- Agora o PageBuilder renderiza corretamente os widgets personalizados com o editor do 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 comerciantes não podem enviar reembolsos parciais para pedidos pagos com o Apple Pay through Braintree. Quando um comerciante tenta criar um aviso de crédito para um reembolso parcial da fatura do pedido, o campo Qtd. para Reembolso não é editável. Solução alternativa: aplicar patch braintree-disabled-partial-capture-for-applepay-googlepay.patch
. Consulte o artigo da Base de Dados de Conhecimento Adobe Commerce 2.4.4: Não é possível criar faturas parciais.
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. O Adobe Commerce 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 Adobe Commerce 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.