Notas de versão do Adobe Commerce 2.4.5

O Adobe Commerce traz aprimoramentos na qualidade da plataforma, métodos de pagamento, desempenho de armazenamento em cache do GraphQL e acessibilidade. Ele inclui atualizações em módulos Google integrados e na Ferramenta de compatibilidade de atualização, além de introduzir o suporte B2B do Live Search.

Esta versão inclui mais de 400 correções e melhorias de qualidade.

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

Outras informações sobre a versão

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

Hotfixes incluídos nesta versão

O Adobe Commerce 2.4.5 inclui a resolução de todos os problemas abordados pelos seguintes hotfixes, que foram fornecidos para o Adobe Commerce:

Destaques do Adobe Commerce 2.4.5

Procure os seguintes destaques nesta versão.

Aprimoramentos de segurança

Esta versão inclui 20 correções de segurança e melhorias de segurança na plataforma. O backup desta correção de segurança foi feito no Adobe Commerce 2.4.3-p3 e Adobe Commerce 2.3.7-p4.

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

Consulte 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 suporte ao reCAPTCHA foi adicionado aos formulários Compartilhamento de lista de desejos, Criar nova conta de cliente e Cartão-presente.

  • Os recursos de ACL foram adicionados ao Inventário.

  • A segurança do modelo de estoque foi aprimorada.

  • A variável MaliciousCode o filtro foi atualizado para usar o HtmlPurifier biblioteca.

Aprimoramentos na plataforma

  • Implantações locais do Adobe Commerce: o Adobe Commerce 2.4.5 foi testado e confirmado como compatível com o Elasticsearch 7.17 (~7.17.0 com restrição). Os comerciantes que hospedam o Adobe Commerce no local podem usar o Elasticsearch ou o OpenSearch 1.2.

  • Implantações hospedadas na nuvem do Adobe Commerce: o Elasticsearch 7.11 ou posterior não é compatível com implantações hospedadas em nuvem do Adobe Commerce 2.4.5. O OpenSearch é o mecanismo de pesquisa padrão para implantações em nuvem do Adobe Commerce 2.4.5.

O Adobe Commerce 2.4.5 agora é compatível

  • Composer 2.2

  • TinyMCE (5.10.2) As versões anteriores do TinyMCE (v5.9.2 ou anterior) permitiam a execução arbitrária do JavaScript quando um URL especialmente criado ou uma imagem com um URL especialmente criado foi atualizada.

  • jQueryUI (1.13.1)

  • PHPStan (^1.5.7 com restrição) GitHub-35315

O schema de integração DHL foi atualizado da v6.0 para a v6.2. Esta atualização não resultará em uma mudança no comportamento do produto.

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

Atualizações de dependência do Composer

As seguintes dependências do Composer foram atualizadas para as versões mais recentes com restrição:

  • colinmollenhour/credis (1.13.0)?
  • guzzlehttp/guzzle (^7.4.2)
  • laminas/laminas-captcha (atualizado com uma restrição ^2.12)
  • laminas/laminas-db (^2.15.0)
  • laminas/laminas-di (^3.7.0)
  • laminas/laminas-escaper (~2.10.0)
  • laminas/laminas-eventmanager (^3.5.0)
  • laminas/laminas-feed (^2.17.0)
  • laminas/laminas-mail (^2.16.0)
  • laminas/laminas-mvc (^3.3.3)
  • laminas/laminas-server (^2.11.1)
  • laminas/laminas-servicemanager (^3.11.0)
  • laminas/laminas-validator (^2.17.0)
  • league/fly (2.4.3)
  • monolog/monolog (^2.5)
  • phpmd/phpmd (^2.12.0)
  • phpstan/phpstan (^1.5.7)
  • phpunit/phpunit (~9.5.20)
  • php-cs-fixer (^3.4.0)
  • webonyx/graphql-php (14.11.6)

A variável laminas/laminas-session, laminas/laminas-text, e laminas/laminas-view as dependências foram removidas.

Outras atualizações e substituições

  • O schema de integração DHL foi atualizado da v6.0 para a v6.2.

  • O URL de gateway padrão para envio de USPS foi atualizado para uso https em vez de http.

  • A variável Froogaloop A biblioteca foi substituída pelo Vimeo Player.js biblioteca (2.16.4).

  • A variável grunt-eslint A biblioteca (NPM) foi atualizada para a versão mais recente.

  • A variável jQuery Storage as bibliotecas foram substituídas por julien-maurel/js-storage.

  • A variável php-cs-fixer e phpcs as ferramentas de análise de código estático agora são compatíveis com o PHP 8.x.

  • glob.js dependência (atualizado com restrição para ~7.2.0)

  • serve-static.js dependência (atualizado com a restrição ~1.14.2)

  • underscore.js dependência (NPM) (1.14.2)

  • moment-timezone-with-data.js (0.5.34)

  • A biblioteca jquery/jquery-cookie foi substituída por js-cookie/js-cookie.

  • A variável jarallax.js e jaralax-video.js As bibliotecas do foram atualizadas para usar a versão mais recente da API REST do Vimeo.

Aprimoramentos de desempenho e escalabilidade

Otimização do indexador de preços

O desempenho do índice principal foi aprimorado com a redução do número de índices principais de 3 para 1 para o catalog_product_index_price_tmp tabela. Esse aprimoramento reduziu o número de registros criados no índice de preço ao reduzir a multiplicação de eSKU que resultou de catálogos compartilhados. O tempo de indexação foi significativamente reduzido.

Atualizações de acessibilidade

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

  • As informações de resumo dos resultados de pesquisa agora são anunciadas aos usuários de leitores de tela
  • Agora os leitores de tela são informados quando uma nova exibição de página é carregada
  • O contraste e a acessibilidade do teclado foram aprimorados

Adobe Sign

Os comerciantes agora podem permitir que os clientes assinem eletronicamente contratos personalizados, como documentos de garantia, contratos de compra e termos e condições, durante a finalização da Adobe Commerce.

Integração do Adobe Commerce com o Adobe IMS

Os comerciantes do Adobe Commerce que têm um Adobe ID e desejam um logon simplificado para produtos Adobe Commerce e Adobe Business podem integrar a autenticação do Commerce ao fluxo de trabalho de autenticação do Adobe IMS. Depois que essa integração for habilitada para a sua loja de Commerce, cada usuário administrador deverá usar suas credenciais de Adobe, não suas credenciais de Commerce, para fazer logon. Consulte Visão geral da integração do Adobe Identity Management Service (IMS).

Alterações de marca e estilo

O Administrador foi atualizado para se alinhar à estratégia da marca Adobe. As alterações afetam cabeçalhos, rodapés, atualizações de cores da grade de dados e elementos de navegação.

B2B

Otimizamos os dados normalizados do banco de dados necessários para implementar o recurso Catálogos compartilhados. Essa redução na multiplicação do eSKU resulta em um aumento no desempenho, pois menos linhas do banco de dados devem ser armazenadas. Anteriormente, o Adobe Commerce duplicava cada SKU no catálogo para cada Catálogo compartilhado. O Adobe Commerce agora cria eSKUs exclusivas para aqueles diretamente atribuídos a um Catálogo compartilhado.

Habilitar o novo Atribuição de preço de produto direto do Catálogo Compartilhado habilitado opção de configuração também melhora o desempenho do indexador de preço do produto.

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

Google Analytics

A Google atualizou os mecanismos de rastreamento e integração do AdWords e do Analytics em aplicativos da Web por meio da integração com o GTag. Essa integração da funcionalidade do Google nas páginas do site amplia as oportunidades para rastrear e gerenciar conteúdo por meio dos Serviços da Google. O Adobe Commerce tem um conjunto de módulos integrados, incluindo o Google AdWords, Analytics, Otimizer e TagManager, que aproveitam a API anterior para integração com os serviços da Google. Nesta versão, reimplementamos essa integração usando a abordagem GTag.​ Consulte Migração de analytics.js para gtag.js (Universal Analytics).

GraphQL

Os aprimoramentos de desempenho do GraphQL incluem:

  • Desenvolvedores e administradores experimentam a recriação mais rápida do esquema GraphQL da loja unificada na implantação ou ao alterar atributos na produção. Os compradores também experimentam velocidades de carregamento de página significativamente mais rápidas quando o esquema do GraphQL deve ser recriado por qualquer motivo.

  • Adição da capacidade de consumir a data/hora de expiração do token de autorização por meio do uso de JSON Web Tokens (JWT) na API do GraphQL.

  • A variável bin/magento config:set graphql/session/disable 1 permite que os comerciantes desativem completamente a criação de cookies de sessão para todas as operações do GraphQL. Por padrão, o Adobe Commerce cria esses cookies e depende deles para autorização, o que afeta o desempenho. A partir de agora, recomendamos usar tokens como a única forma de autorização para solicitações do GraphQL. Não recomendamos usar cookies de sessão sozinhos ou em conjunto com tokens de autorização. Consulte Autorização GraphQL.

  • Os cookies de sessão agora são iniciados nas operações do GraphQL usando proxies de classe somente quando necessário.

  • O uso da sessão foi removido de http processadores de cabeçalho na GraphQL, como loja, cliente ou moeda.

Consulte a Guia do desenvolvedor do GraphQL para obter detalhes sobre esses aprimoramentos.

Inventário

A segurança do modelo de estoque foi aprimorada.

Esta versão apresenta suporte para grupos de clientes B2B e preços personalizados. O Live Search agora respeita as atribuições de produto a grupos de clientes e os preços definidos para um grupo de clientes/catálogo compartilhado específico.

Page Builder

O Page Builder v.1.7.2 é compatível com o Adobe Commerce 2.4.5.

O layout de coluna do Page Builder inclui estes aprimoramentos:

  • As colunas agora são expostas, permitindo que os usuários controlem as configurações de coluna na loja.

  • O redimensionamento de colunas agora oferece suporte ao encapsulamento acionado pelas ações do usuário.

Pagamentos

O Apple Pay agora está disponível para todos os comerciantes que executam implantações com os Serviços de pagamento ativados. Este método de pagamento não exige que os compradores insiram os detalhes do cartão de crédito ou débito. O Apple Pay está disponível na página de detalhes do produto, minicarrinho, carrinho de compras e fluxo de trabalho de finalização. Os comerciantes podem ativar ou desativar esse recurso.

PayPal

  • Comerciantes na Espanha e Itália agora podem oferecer PayPal Pay Later para compradores.

  • As visualizações dos botões PayPal, Crédito e Pagar mais tarde agora estão disponíveis nas páginas de Admin para check-out, minicarrinho, carrinho e produto. As visualizações revelam a aparência desses botões quando ativados e renderizados na loja.

Braintree

  • O Braintree descontinuou a integração da proteção contra fraudes do KOUNT. Ele foi removido da base de código do Adobe Commerce.

  • A variável Sempre solicitar 3DS A opção foi adicionada ao Administrador.

PWA Studio

O PWA Studio v.12.5.x é compatível com o Adobe Commerce 2.4.5.

Os novos recursos desta versão incluem:

  • Os dados de comportamento do comprador são coletados na loja de PWA Studio para os serviços de análise da web. Agora os comerciantes podem assinar e estender esses eventos conforme necessário.

  • Os comerciantes agora podem selecionar um serviço para implantar no Admin (Google Tag Manager).

Para obter informações sobre aprimoramentos e correções de erros, consulte Versões do PWA Studio. Consulte Compatibilidade de versão para obter uma lista de versões do PWA Studio e suas versões Adobe Commerce core compatíveis.

Ferramenta de compatibilidade de atualização

As melhorias incluem:

  • A validação de assinatura de método agora identifica alterações incompatíveis em um método ou uma assinatura de construtor.

  • A validação do esquema do banco de dados agora identifica alterações e incompatibilidades de esquema.

  • A validação da configuração de ID agora verifica as referências às classes principais não API removidas ou descontinuadas no di.xml e preferências para classes e interfaces principais.

  • A UCT agora identifica descontinuações de código e fornece recomendações específicas para resolver cada problema.

Problemas corrigidos

Corrigimos centenas de problemas no código principal do Adobe Commerce 2.4.5.

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

  • Agora você pode renomear um patch de dados e adicionar o nome de classe antigo como um alias na variável patch_list tabela de banco de dados. O Adobe Commerce agora verifica se aliases de patch de dados já existiam no banco de dados antes de aplicar o patch. Anteriormente, o Adobe Commerce emitia um erro sob essas condições.
  • O Adobe Commerce não lança mais uma exceção quando você tenta alterar o URL do administrador para um URL personalizado do administrador. Anteriormente, após alterar o URL do administrador, não era possível fazer logon. GitHub-35416
  • Os comerciantes agora podem atualizar com êxito de uma implantação do Adobe Commerce 2.4.2 com o Klarna para o Adobe Commerce 2.4.3. GitHub-33760
  • O caminho para o Adobe Commerce Analytics não é mais codificado. Anteriormente, esse caminho codificado resultava em conflitos quando várias instâncias do Adobe Commerce eram instaladas em um servidor. GitHub-29373

Acessibilidade

  • A variável Saco de compras agora fornece uma indicação programática ou textual de seu estado. Os usuários de leitores de tela são informados de que clicar nesse botão expandirá outro conteúdo ou que o conteúdo associado será expandido ou recolhido. Anteriormente, esse botão não fornecia uma indicação programática ou textual de seu estado.
  • Informações de pagamento elementos de texto ou imagens de texto com opção de cartão de crédito agora atendem à taxa mínima de contraste de cor de 4,5:1 exigida pela WCAG 2.0 para texto padrão de 18 pt (24 px) ou 14 pt (19 px), se em negrito. Anteriormente, eles não atendiam à taxa de contraste esperada.
  • Catálogo de endereços > Comunicação > Informações da conta os indicadores de foco personalizados agora fornecem uma taxa de contraste de pelo menos 3:1 em relação à cor do plano de fundo.
  • Filtro e Ordenar O texto do botão agora atende à taxa mínima de contraste de cores de 4.5:1 exigida pela WCAG 2.0 para textos padrão de 18 pt (24 px) ou 14 pt (19 px), se em negrito. Anteriormente, os botões de navegação para carrosséis não atendiam a esses requisitos mínimos de contraste.
  • Os leitores de tela anunciam a palavra "Venia" apenas uma vez ao navegar até os cabeçalhos e rodapés Venia. Anteriormente, a mesma palavra era anunciada duas vezes consecutivamente.
  • Os botões que acionam menus suspensos agora fornecem informações aos leitores de tela que indicam seu estado expandido ou recolhido e nomes acessíveis.
  • Os usuários de leitores de tela são informados quando uma nova exibição de página é renderizada. Anteriormente, quando um título de página era alterado, a alteração de título não era anunciada.

Adobe Stock

  • Os usuários agora podem fazer logoff do Adobe Stock com êxito.

Produtos do pacote

  • Agora você pode usar o PUT /V1/products endpoint para atualizar os atributos de preço do produto para um site específico. Anteriormente, se alguns atributos de produto fossem substituídos por uma exibição de loja específica, não era possível atualizar um atributo de preço para esse produto na mesma exibição de loja.
  • Agora, o Adobe Commerce calcula corretamente o total do carrinho de um produto combinado quando a regra de Subseleção de produto é aplicada.

Cache

  • O cache de página inteira não é mais exibido como desativado no Admin quando o cache do Adobe Commerce é liberado e use_stale_cache está ativado.
  • Os marcadores de implantação do New Relic agora funcionam como esperado quando o cache é liberado. GitHub-32649

Carrinho e check-out

  • O pop-up de pesquisa de endereço na etapa de faturamento do workflow de finalização não causa mais erros de DOM.
  • A variável addProductsToCart agora a mutação funciona corretamente com vários produtos. Anteriormente, essa consulta retornava o primeiro produto com um subtotal preciso, mas retornava um subtotal de 0 para outros produtos.
  • As exceções de permissão agora são tratadas para produtos restritos adicionados pelo SKU. Os compradores agora recebem uma mensagem apropriada na loja e o campo de quantidade na tabela de erros está desativado. Anteriormente, o Adobe Commerce lançava uma exceção como esta: There has been an error processing your request.
  • A consulta SQL que atualiza as cotações afetadas após a desativação de uma regra de preço do carrinho foi otimizada para evitar o bloqueio de toda a tabela de cotações.
  • Os compradores com compartilhamento de conta global não precisam mais fazer logon novamente em um site secundário em uma implantação multissite quando o check-out do convidado está desabilitado. Agora os dados do cliente são carregados quando o comprador navega para o subdomínio. O comprador não é mais solicitado a fazer logon novamente e o conteúdo do carrinho anterior é exibido.
  • Os valores da lista suspensa de endereços no fluxo de trabalho de check-out não são mais alterados para os itens restantes em uma cotação quando um único item de endereço de quantidade é removido em um check-out de vários endereços. Anteriormente, quando um produto era removido de uma cotação durante o check-out de vários endereços, o valor da lista suspensa de endereços era alterado para o padrão para todos os produtos.
  • A variável cart a consulta não retorna mais respostas nulas quando um produto estiver indisponível. Um novo errors elemento contendo a mensagem de erro foi introduzido na resposta. Anteriormente, ao executar uma consulta com um produto indisponível, o Adobe Commerce exibia uma null valor sob o items seção na resposta. Consulte consulta ao carrinho.
  • Os métodos de envio agora estão disponíveis conforme esperado quando um comprador convidado cria uma conta após adicionar um produto ao carrinho antes de prosseguir com o check-out. Anteriormente, quando um convidado adicionava um produto ao carrinho antes de criar uma conta, nenhum método de envio estava disponível durante a finalização da compra. Depois de adicionar outros produtos ao carrinho, os métodos de envio ficaram disponíveis.
  • Os compradores agora podem adicionar produtos aos carrinhos quando não há opções na Permitir países foram selecionados.
  • O conteúdo do carrinho e o status de logon agora são recarregados conforme esperado depois que uma sessão atinge o tempo limite quando Ativar persistência está definida como Sim. GitHub-35182
  • Os subtotais do carrinho agora são atualizados corretamente quando um comprador navega da página de remessa para a página do carrinho no fluxo de trabalho de check-out de um pedido com vários endereços de remessa. Anteriormente, o subtotal era dobrado.
  • O minicarrinho agora exibe produtos adicionados anteriormente após um tempo limite de sessão quando Ativar persistência está ativado. GitHub-35183
  • Os comerciantes agora podem criar um memorando de crédito no qual Reembolso do frete (Incl. Imposto) é definido como -0,01 e agora é possível definir essa quantidade como 0. Anteriormente, o memorando de crédito não podia ser criado sob essas condições.

Regra de preço do carrinho

  • A variável Parent Only O escopo do atributo agora é usado corretamente na condição Regra do carrinho.
  • As chaves de URL do produto agora permanecem inalteradas ao atualizar o nome do produto via PUT /V1/products/ para uma exibição de loja. Anteriormente, uma nova chave de URL era gerada com base no novo nome do produto e atribuída ao produto, o que substituía a chave de URL na exibição da loja.
  • Os produtos de venda adicional baseados em regras não são mais exibidos duas vezes na página do produto.
  • Adicionar um produto a uma categoria do widget de produto do Page Builder definido como modo Carrossel não aciona mais um recarregamento de página.
  • Produtos definidos como Não visível individualmente não aparecerá mais nos resultados da Pesquisa avançada do catálogo.
  • Os atributos do pacote dinâmico agora são atualizados corretamente na página Atualização de atributo em massa. Anteriormente, a variável SKU dinâmica o atributo permaneceu definido como Sim mesmo que tenham sido desativados na página Atualização em massa.
  • Agora as regras do catálogo são aplicadas corretamente usando indexadores incrementais em vez de uma reindexação completa.
  • Agora é possível alternar entre exibições de lista e grade de listas de produtos de várias páginas. Anteriormente, ao navegar até a última página de uma exibição de lista de produtos de várias páginas antes de alternar para a exibição de grade, o Adobe Commerce exibia este erro: Unfortunately there are no products in this category on our website currently.
  • Os relatórios do Log de ação do administrador agora exibem as IDs de produto atualizadas e as informações de status atualizadas, conforme esperado.
  • Os acionadores agora são restaurados conforme esperado para o catalogrule_product_price tabela após uma reindexação completa. Anteriormente, os acionadores eram removidos da catalogrule_product_price tabela após um catalogrule_rule ou catalogrule_product reindexação completa.
  • As regras de categoria usadas para atribuir produtos a categorias não são mais alteradas aleatoriamente.
  • O Adobe Commerce não emite mais um erro quando uma regra de categoria atribui um produto a uma categoria que é classificada subsequentemente em uma implantação multissite.
  • As categorias não podem mais ser atualizadas globalmente por um administrador com acesso restrito ao escopo. Anteriormente, quando vários sites usavam a mesma categoria, mas produtos diferentes, e um administrador com permissão restrita a uma loja alterava os produtos na categoria, a seleção de produtos também era alterada para outras lojas.
  • A página de detalhes do produto agora exibe o preço correto quando uma moeda não padrão para uma localidade especificada é usada. Anteriormente, os números não eram localizados conforme esperado na loja.
  • Os produtos agora podem ser ativados usando uma atualização programada.
  • A mesma mensagem de erro agora é exibida pela API e na loja ao tentar recuperar os preços da camada de um produto com registros duplicados. Anteriormente, PUT /V1/products/tier-prices O retornou uma mensagem de erro incorreta.
  • O Adobe Commerce agora fornece mensagens de erro de validação ao tentar adicionar uma chave de URL do produto com um hífen à direita. O texto de dica de ferramenta informativa também está disponível.
  • O novo ConfigurableWishlistItem.configured_variant O campo substituiu o ConfigurableWishlistItem.child_sku campo. O último campo acionava um erro interno quando uma lista de desejos do cliente continha um produto configurável não configurado.
  • Agora, as substituições de URL são geradas apenas para as lojas selecionadas durante a atualização de atributo em massa para alterar a visibilidade do produto. Anteriormente, a atualização do atributo de massa criava uma regravação de URL para a loja errada.
  • Quando a variável Synchronize widget products with backend storage estiver ativada, a Adobe Commerce adicionará recentemente a opção visualizar dados do produto na catalog_product_frontend_action tabela de banco de dados. Inclui a ID do cliente ou visitante ao adicionar registros. A variável recently_viewed_product A seção na resposta agora fica vazia se a ID do cliente e a ID do visitante forem nulas. Como resultado, quando a variável customer/section/load A solicitação do Ajax é enviada, a Adobe Commerce pode filtrar corretamente os produtos visualizados recentemente com base na ID do cliente ou visitante. Anteriormente, a resposta incluía todos os dados disponíveis no catalog_product_frontend_action tabela de banco de dados porque não havia verificação para uma ID de cliente ou visitante vazia.
  • Regras de categoria com um Quantity o atributo para produtos configuráveis agora funciona corretamente quando o preparo é implementado. Anteriormente, quando os produtos tinham valores diferentes para row_id e entity_id no catalog_product_entity devido a atualizações por etapa, o Visual Merchandiser Combinar produto por regra A funcionalidade do não filtrou corretamente os produtos.
  • Agora, os administradores podem alterar as opções de produto configuráveis no carrinho de um comprador a partir do painel de slides de Administração. Anteriormente, o painel de slide não funcionava corretamente.
  • O cache da página agora é limpo como esperado para o produto principal configurável quando as alterações em um produto secundário são salvas. Anteriormente, como o cache não era limpo, as alterações não eram selecionadas na página do produto de configuração da vitrine. GitHub-34508
  • As listas de produtos agora são renderizadas corretamente no Administrador. Anteriormente, a lista de produtos não era renderizada e o Adobe Commerce exibia este erro: Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "<ID>" already exists. GitHub-33145
  • Os preços dos produtos agora são os mesmos na página de detalhes do produto e na pesquisa de vitrine em implantações de várias lojas após as alterações no Escopo do preço de catálogo do site para global. Anteriormente, a página Resultados da pesquisa no catálogo exibia a global e a página detalhes do produto exibiu a variável site preço. GitHub-34074
  • A navegação em camadas agora exibe produtos com os preços mais altos conforme esperado quando Cálculo da Etapa de Navegação de Preço está definida como Manual.
  • Agora é possível alterar o limite de produtos por página exibido em uma categoria quando Paginação de categoria lembrada está ativado. Anteriormente, o cookie form_key e UI form_key diferente, e o Adobe Commerce exibiu este erro: Invalid Form Key. Please refresh the page.
  • O indexador EAV agora processa IDs de produto como tipo int para evitar possíveis problemas de desempenho.
  • Um novo cache de produto foi gerado com êxito depois que você adicionou uma nova imagem com um nome que contém '.' em um produto, salve o produto e limpe o cache de imagens. GitHub-32699
  • O Adobe Commerce agora exibe uma mensagem de erro, conforme esperado, quando você tenta criar um atributo da página do produto sem preencher o campo Administrador. GitHub-33099

  • As classificações de produtos agora estão corretas em todas as listas de produtos de catálogo quando a página inicial contém várias listas de catálogo. GitHub-33867

Conteúdo do CMS

  • Os comerciantes não podem mais editar uma atualização agendada ativa na página de edição da entidade.
  • Um administrador com permissões restritas agora pode exibir uma página do CMS na hierarquia do CMS após uma atualização programada.

Produtos configuráveis

  • O Adobe Commerce agora exibe o preço correto de um produto configurável com uma opção selecionada após alterar sua quantidade na página de detalhes do produto. Anteriormente, o preço era redefinido para o valor inicial após a quantidade alterada.
  • A variável products consulta agora recupera preços para produtos configuráveis que refletem com precisão a Exibir Sem Estoque definição de configuração. Anteriormente, a consulta não retornava preços precisos.
  • As opções configuráveis agora estão vinculadas aos produtos configuráveis criados no Administrador usando POST /V1/configurable-products/configurable1/child.
  • Os atributos de seleção múltipla agora são salvos corretamente durante a edição do produto. Anteriormente, o Adobe Commerce salvava a opção padrão para atributos não selecionados, bem como atributos selecionados ao salvar um produto.
  • O Adobe Commerce agora exibe atributos configuráveis conforme esperado durante a criação do select atributos por meio de um script de patch. Anteriormente, os atributos globais elegíveis estavam ocultos.
  • A variável addConfigurableProductsToCart a mutação agora pode ser usada para adicionar produtos configuráveis com opções personalizadas. Anteriormente, o Adobe Commerce exibia este erro: Magento 2.3.4 graphql Notice: Undefined index: option_value in /var/www/html/mg234/vendor/magento/module-configurable-product-graph-ql/Model/Resolver/ConfigurableCartItemOptions.php on line 62. GitHub-28860
  • O Adobe Commerce agora exibe corretamente o status de estoque de um produto configurável, as configurações disponíveis e o preço exibido quando a disponibilidade de um dos produtos secundários do produto configurável é alterada por uma atualização programada. Anteriormente, quando um produto configurável tinha dois filhos e a disponibilidade de um produto filho era desabilitada com uma atualização agendada, o status do estoque do produto pai era exibido incorretamente como Sem estoque quando a atualização estava ativa, Após a conclusão da atualização, o preço exibido e a disponibilidade de suas configurações foram calculados incorretamente.

  • Agora você pode resolicitar produtos configuráveis com opções personalizadas opcionais. Anteriormente, as tentativas de reordenação falhavam e significava que exibiam este erro: Some of the selected options are not currently available. GitHub-35409

  • A variável addConfigurableProductsToCart a mutação agora funciona conforme esperado com vários produtos. Anteriormente, informações incorretas do produto eram retornadas ou uma mensagem de erro inválida era retornada. GitHub-30948

Cliente

  • O Adobe Commerce agora exibe os atributos predefinidos do sistema EAV corretamente de acordo com a configuração do site na loja. Anteriormente, os atributos do cliente no nível do site que eram ativados para um site e desativados para outro eram exibidos como ativados para ambos os sites.

Segmento do cliente

  • As regras de Produto relacionado específicas do segmento do cliente agora funcionam conforme esperado. O problema foi corrigido chamando um método para adicionar uma relação de segmento de visitante para um site específico. Anteriormente, os segmentos dessa regra eram buscados somente com base em clientes e sites registrados.

Baixável

  • Agora é possível remover links e arquivos de exemplo de um produto para download. GitHub-31887

E-mail

  • Emails emitidos pelo sistema agora são enviados com sucesso a recipients com ".-" em seu endereço de email.
  • Agora os clientes recebem lembretes por email sobre os carrinhos abandonados dentro do cronograma correto. O novo TIMESTAMPDIFF(DAY, ,) A função SQL substituiu o TO_DAYS() e calcula a diferença nos carimbos de data e hora com base na data e hora. Anteriormente, os lembretes de email não eram enviados por agendamento devido ao cálculo incorreto de dois valores de data e hora de abandono do carrinho (qualquer fuso horário) e hora do servidor (UTC).
  • O Adobe Commerce agora exibe uma mensagem de erro na página Envio quando um comprador insere um formato de email inválido depois que clica Fazer pedido. Anteriormente, a mensagem de erro era exibida na página Pagamento. [GitHub-33590] (https://github.com/magento/magento2/issues/33590

Estruturas

  • A variável bin/magento setup:config:set comando não substitui mais os prefixos de ID do cache já definidos no app/etc/env.php.
  • A variável bin/magento setup:static-content:deploy -s compact O comando agora inclui estilos de temas secundários, conforme esperado. Anteriormente, os arquivos CSS de tema não estavam presentes na loja após a implantação.
  • Um novo sniff foi adicionado para verificar se as barras de fechamento são usadas em void elementos.
  • O Adobe Commerce não lança mais um erro SQL após atribuir uma nova fonte a um produto e alterar sua quantidade. GitHub-35262
  • A ordem de classificação de atributos agora funciona conforme especificado no di.xml arquivo após a atualização.
  • A variável updateCartCurrency agora define string em vez de um objeto dentro do objeto do carrinho. Anteriormente, o Adobe Commerce não carregava uma cotação usando getQuote porque a variável updateCartCurrency função definiu um objeto em vez de uma string dentro do objeto do carrinho. GitHub-34199
  • Avisos de desativação não ocorrem mais em testes de unidade devido a\DateTimeFormatter::formatObject(). Esse método agora funciona conforme esperado com valores numéricos para $format.
  • O Adobe Commerce não exibe mais um preg_replace() Erro no Administrador. O terceiro argumento ($subject) agora é do tipo array|string em vez de bool.
  • A variável isFreeShipping agora o método retorna um número inteiro em vez de um booleano.GitHub-35164
  • O Adobe Commerce não lança mais o seguinte erro quando você cria um plug-in para qualquer método da classe vendor/magento/module-backend/Model/Menu.php: Error: Call to undefined method ReflectionUnionType::getName(). GitHub-35292
  • O Adobe Commerce agora retorna um erro 404 em vez de um erro 500 ao navegar para /checkout/sidebar/updateItemQty/?item_qty=error na loja. Anteriormente, esse erro era gerado: Warning: A non-numeric value encountered in /vendor/magento/module-checkout/Controller/Sidebar/UpdateItemQty.php on line 69. GitHub-34380
  • O Adobe Commerce não aciona mais um trim(): Passing null to parameter #1 ($string) of type string is deprecated erro quando a conexão AMPQ é configurada sem configuração SSL.
  • Corrigido o longblog definição de banco de dados para long blob. GitHub-35108
  • O texto sem formatação contendo aspas simples agora pode ser traduzido. GitHub-34319
  • A TypeError in magento2/app/code/Magento/Security/Model/AdminSessionsManager.php foi corrigido de int para string. GitHub-34415
  • .htpasswd foi adicionado a locais proibidos na nginx arquivo de configuração. GitHub-35150
  • O tempo de carregamento das páginas de lista de produtos da categoria foi aprimorado com a adição Magento_Ui/js/core/app as a deps para app/code/Magento/Ui/view/frontend/requirejs-config.js. GitHub-34847
  • A variável ProductRepository.php:get agora retorna as chaves de cache uma vez. Anteriormente, eles eram devolvidos duas vezes. GitHub-34958
  • Adição de uma mensagem de erro a uma nova exceção criada no manipulador de exceção para trabalhos cron. GitHub-34941
  • Os arquivos ReadMe do GraphQl-GroupedProductGraphQl Os módulos do foram atualizados. GitHub-34951
  • As páginas de ordem de impressão/fatura/memorando de crédito da loja não exibem mais o logotipo padrão da Luma, em vez do logotipo especificado para exibição no site. GitHub-34942

Correções gerais

  • Definir o tamanho máximo da sessão como 0 (Administrador) Loja > Configurações > Configuração - Avançada) não efetua mais logout do administrador. GitHub-35312
  • As configurações dos atributos de endereço do cliente agora são carregadas corretamente com base no site ao qual o cliente está atribuído quando você adiciona um novo endereço de cliente do Administrador atribuído a um site não padrão.
  • A criação de categoria agora está bloqueada para um administrador restrito na página Categoria e na página Edição de produto. Anteriormente, a criação de categoria era bloqueada na página de categoria, mas ainda era possível por meio da página Edição de produto.
  • O Adobe Commerce não lança mais uma exceção quando você adiciona um pacote de produtos por meio do Page Builder.
  • Agora as categorias podem ser selecionadas na árvore de categorias como uma condição para um segmento de cliente.
  • Agora você pode criar uma conta de cliente em um dispositivo iOS com o apóstrofo inclinado (') no nome, nome do meio ou sobrenome. Anteriormente, somente o apóstrofo reto era permitido e o uso do apóstrofo inclinado padrão do iOS 11+ resultava em uma Name is not valid! erro.
  • A variável products O query agora retorna informações do produto que refletem com precisão a configuração "Mostrar produtos relacionados". A variável related_products, upsell_products, e crosssell_products Os campos na Interface do produto do GraphQL agora são resolvidos de acordo com as configurações Mostrar produtos relacionados, Mostrar produtos de venda adicional e Mostrar produtos de venda cruzada, respectivamente.
  • A variável Definir produto como nova data inicial atributo agora exibe a data correta quando a variável Definir produto como novo o atributo é definido por meio de uma atualização em massa de produto. Anteriormente, Definir produto como nova data inicial foi exibido como 1 de janeiro de 1970.
  • Os usuários com funções restritas não recebem mais acesso automaticamente a novos módulos.
  • As regras de destino baseadas em categorias exibem somente os produtos da categoria declarada na regra. Anteriormente, as regras de Produtos relacionados exibiam produtos de categorias que foram atribuídas ao produto e não definidas na regra.
  • As condições de regra de produto relacionadas agora funcionam conforme esperado com produtos que contêm multiselect atributos.
  • Os comerciantes agora podem adicionar um atributo de preço de nível (tier_price) para comparações de produtos. Anteriormente, a página de comparações de produtos falhava quando a variável Comparável na loja a configuração deste atributo foi ativada. GitHub-35244
  • O Adobe Commerce agora exibe uma mensagem de erro ao definir um domínio de cookie inválido (Loja > Configurações > Web > Domínio de cookie das configurações de cookie padrão). Anteriormente, o site travava. GitHub-35048
  • O Adobe Commerce não emite mais um erro quando um administrador com funções no escopo de um único site adiciona o produto aos Elementos de conteúdo usando o PageBuilder. Anteriormente, o Adobe Commerce emitia um erro de SQL.
  • A validação foi adicionada à segunda linha do endereço nas páginas de edição e adição de endereço. Os comprimentos de texto mínimo e máximo especificados no segundo agora são aplicados.
  • O Adobe Commerce não lança mais o seguinte erro durante a criação de uma regra de catálogo no Administrador após a atualização: A technical problem with the server created an error. Try again to continue what you were doing. If the problem persists, try again later.
  • O Adobe Commerce não lança mais um erro quando você ativa o Clique aqui para vincular um RSS feed à sua Lista de desejos antes de clicar em Compartilhar lista de desejos. GitHub-34998
  • O título do Mostrar senha A caixa de seleção (Logon do cliente, Registro do cliente, Edição do cliente (seção Alterar senha) e Formulários de nova senha definidos pelo cliente) agora pode ser traduzida. GitHub-34857
  • Atualização dos rótulos e descrições de comentários em app/code/Magento/NewRelicReporting/etc/adminhtml/system.xml. GitHub-31947
  • Removido desnecessário csp_whitelist.xml arquivos. GitHub-30607

Cartões-presente

  • products agora retorna corretamente os dados do produto que contêm produtos de cartão-presente com um gift-card Chave do URL.

GraphQL

  • Um ausente price_range O atributo foi adicionado ao GraphQL BundleItemOption tipo. GitHub-35010
  • A variável products a consulta não retorna mais atributos como uma agregação quando a variável Usar nos resultados da pesquisa A configuração Navegação em camadas está desabilitada. GitHub-33318
  • A price_including_tax o campo foi adicionado a CartItemPrices. GitHub-29057
  • A variável new_from_data e new_to_datefields in ProductInterface não estão mais obsoletos. GitHub-34783
  • A variável categories a consulta não gera mais uma exceção ao buscar uma lista de categorias uma das quais contém uma imagem que não pode ser encontrada no sistema de arquivos. Anteriormente, o Adobe Commerce lançava esta exceção: Category image not found. GitHub-34266
  • A variável products a consulta agora retorna category_uid como uma agregação, conforme esperado. GitHub-32557
  • A variável updateCartItems A mutação agora remove produtos conforme esperado quando o estoque do produto atinge a quantidade máxima de estoque. GitHub-30220
  • A variável urlResolver agora, o query resolve o delimitador de caminho (/) corretamente quando várias páginas iniciais têm o mesmo identificador. Anteriormente, a consulta não resolvia o delimitador e retornava nulo. GitHub-33615
  • customer as consultas agora buscam opções de seleção múltipla de produtos agrupados conforme esperado ao consultar pedidos. GitHub-34717
  • As sessões do Adobe Commerce não terminam mais após uma solicitação do GraphQL ser feita. Anteriormente, a variável ClearCustomerSessionAfterRequest plug-in fez logout do comprador. GitHub-34550
  • A variável products a consulta não retorna mais price_range valores para produtos configuráveis afetados por variantes desabilitadas. GitHub-33629
  • Faixa de preços do produto configurável em products as respostas da consulta agora são calculadas corretamente quando a variável Exibir Produtos sem Estoque definição de configuração está habilitada. Anteriormente, as opções desativadas eram consideradas no cálculo do preço mínimo e máximo.
  • A variável products a consulta agora retorna várias categorias corretamente filtradas ao classificar por posição.
  • setShippingAddressesOnCart As solicitações do agora validam com êxito as IDs de região. Anteriormente, o Adobe Commerce emitia um erro ao usar a ID da região em vez do código da região.
  • products as consultas agora retornam somente as categorias associadas ao armazenamento transmitido na solicitação.
  • A variável categoryList a consulta agora retorna resultados que refletem a categoria raiz da loja consultada quando a loja é especificada no cabeçalho. Anteriormente, as categorias da categoria raiz padrão eram incluídas nos resultados mesmo que outra loja fosse especificada no cabeçalho.
  • A variável products a consulta não retorna mais atributos como uma agregação quando a variável Usar na navegação em camadas dos resultados da pesquisa está desabilitada. GitHub-33318
  • A variável cart a consulta agora retorna apenas um método de pagamento para ordens livres. Anteriormente, todos os métodos de pagamento ativos eram retornados na resposta da consulta. GitHub-34036
  • Adição de um plug-in antes da collectQuoteTotals chamada para garantir que os créditos da loja não sejam aplicados várias vezes.
  • A variável generateCustomerTokenAsAdmin a mutação agora recupera os tokens do cliente conforme esperado. Anteriormente, os tokens não eram retornados e esse erro era retornado: Customer email provided does not exist.
  • O esquema do GraphQL agora é válido quando um type atributo de produto definido. Anteriormente, o esquema era inválido porque type atributo em tipos de produtos foi substituído pelo atributo personalizado type atributo. GitHub-34929
  • Clientes adicionados ou atualizados com o createCustomer, createCustomerV2, updateCustomerou updateCustomerV2 As mutações do agora são adicionadas com assinaturas ativas de boletim informativo. Anteriormente, a assinatura dos clientes dos boletins informativos era cancelada mesmo quando a solicitação continha parâmetros de entrada adequados. GitHub-33599
  • A variável products a consulta de uma exibição de loja específica agora retorna somente as categorias que estão na categoria raiz do site específico na implantação multissite. Anteriormente, a consulta retornava categorias das categorias raiz de outros sites. GitHub-34570
  • A variável products A consulta agora retorna somente a subcategoria da ID de categoria fornecida. Anteriormente, retornava todas as categorias. GitHub-35220
  • A variável customerOrders a consulta agora responde conforme esperado quando a variável gift_message o objeto é especificado na resposta, mas não existe nenhuma mensagem de presente. Anteriormente, a consulta retornava esta mensagem: Can't load gift message for order is returned. GitHub-28957
  • Correção de um erro com o catalog_category_product indexador que causou a products consulta para retornar categorias de outro armazenamento. GitHub-31253
  • A variável generateCustomerToken mutação agora cria uma entrada no customer_log conforme esperado após gerar um token do cliente. GitHub-33378

Google Analytics

  • O módulo de tag do Google foi adicionado à base de código, que oferece suporte à transição para o Google Analytics 4 em julho de 2023. Atualmente, você pode usar e coletar novos dados em suas propriedades do Google Universal Analytics, mas o Google Universal será encerrado em julho de 2023. GitHub-35204, GitHub-35376

Imagem

  • As imagens nas páginas de detalhes do produto não piscam mais e permanecem centralizadas conforme esperado. Anteriormente, depois que uma página de detalhes do produto concluía o carregamento de uma imagem, a imagem era visivelmente deslocada para baixo.

Importar/exportar

  • A posição do produto relacionado, de venda adicional e de venda cruzada no CSV de exportação agora está correta após a exclusão de um produto de venda cruzada do administrador, antes de regenerar o arquivo CSV. Anteriormente, as posições de produto de venda cruzada não eram recalculadas depois que um produto de venda cruzada era removido e a ordem da posição do produto estava incorreta.
  • O Adobe Commerce agora verifica se há uma exibição personalizada antes de filtrar colunas ao exportar relatórios. Anteriormente, os relatórios exportados não levavam em conta as exibições personalizadas e as colunas exportadas estavam incorretas.
  • O Adobe Commerce agora importa com sucesso imagens com nomes de arquivo longos. Anteriormente, o Adobe Commerce não importava a imagem e exibia este erro: Imported resource (image) could not be downloaded from external resource due to timeout or access permissions in row(s):.
  • Os atributos de ID de categoria agora estão disponíveis nos filtros de exportação agendados.
  • Produtos de pacote que contêm um ponto de interrogação (?) no título da opção agora pode ser importado com sucesso devido a melhorias no construtor de consultas dentro populateExistingOptions método. O título da opção também é exibido corretamente. Anteriormente, após a importação inicial, as importações sucessivas resultavam em comportamento corrompido e opções duplicadas. Os compradores também não podiam adicionar o produto ao carrinho.
  • Validação adicionada para nomes de categoria durante a importação. Anteriormente, o Adobe Commerce não validava nomes de categoria, o que resultava em erros quando os nomes de categoria excediam 255 caracteres.
  • Registros existentes na catalog_url_rewrite_product_category agora são excluídas antes de inserir novas. Anteriormente, o seguinte erro ocorria durante a importação de produtos de várias lojas: SQLSTATE[23000]: Integrity constraint violation. GitHub-34210

Infraestrutura

  • Um plug-in de Menu de contexto obsoleto foi removido da lista de plug-ins.
  • A lógica relacionada à barra de ferramentas do editor TinyMCE no módulo do Page Builder foi atualizada como resultado da introdução do delayedRender lógica para a barra de ferramentas no TinyMCE.
  • As condições de raça já não interrompem a criação do contentUpdated ouvinte de eventos. GitHub-32068
  • A variável getTypeID A função agora retorna a ID do tipo de produto, não a ID do produto. GitHub-35458
  • Controle deslizante da interface do jQuery e SelectMenu o mapeamento foi corrigido em vendor/magento/module-theme/view/base/requirejs-config.js.

  • Observadores colocados em sales_order_state_change_before agora oferecem suporte à recuperação de dados do objeto do pedido. A variável sales_order_state_change_before event O argumento foi atualizado. GitHub-26789

  • indexer:reset foi refatorada para chamar $indexer->invalidate(). GitHub-34988
  • Agora você pode usar o símbolo de dois pontos em uma htmlClass valor do atributo, que suporta o uso de componentes adicionais, como a interface Tailwind. GitHub-34430

Logs

  • O cliente, o endereço do cliente e as ações de pedido agora são registrados corretamente no relatório de ação do administrador. Anteriormente, o Adobe Commerce não registrava ações se a variável postDispatch o manipulador não foi especificado nas definições de configuração.

MFTF

Grupos de ação

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

AdminConfigurableProductChildrenOutOfStockTest GitHub-32378
AdminCreateStoreViewTest GitHub-34631

Novos testes

AdminUnlockAdminUserEntityTest GitHub-34836

StorefrontNewsletterSubscriptionWithEnabledNeedToConfirmConfigTest GitHub-33344

Testes refatorados

AdminCancelTheCreatedOrderWithCashOnDeliveryPaymentMethodTest GitHub-33692

Informativo

  • Os clientes conectados não são mais marcados como convidados em Administração > Marketing > Assinantes do informativo.
  • O email de confirmação da assinatura do boletim informativo agora tem o endereço de email correto e específico da loja na De campo se o cliente estiver atribuído a uma loja fora do padrão e tiver assinado ou cancelado a assinatura do Administrador. Anteriormente, o cliente recebia um email com o email padrão no De cabeçalho. GitHub-34963
  • O URL de cancelamento de inscrição no modelo de email do boletim informativo agora funciona conforme esperado. GitHub-33310

Pedido

  • Agora é possível criar com êxito um novo cliente a partir de um novo pedido com atributos personalizados do cliente que estão ocultos na loja. Anteriormente, o Adobe Commerce não salvava os valores corretos para o atributo personalizado do cliente.
  • Os detalhes do cliente convidado agora são salvos com sucesso depois que um pedido é editado. Anteriormente, alguns detalhes do cliente eram perdidos, incluindo customer_firstname e customer_lastname, x_forwarded_for.
  • Os comerciantes não podem mais criar um aviso de crédito com uma quantidade total decimal quando Quantidade decimal está desativado em um produto ou nível de configuração global. Anteriormente, os comerciantes podiam criar um aviso de crédito para quantidade total decimal onde não era aplicável.
  • Agora, o filtro por data funciona corretamente para faturas, remessas, avisos de crédito, páginas CMS e grades de blocos CMS quando o fuso horário definido nas preferências é diferente do fuso horário definido em um computador local. Anteriormente, a data era analisada incorretamente e os resultados filtrados incluíam dados fora do intervalo de datas definido.
  • O Adobe Commerce não altera mais os endereços de email personalizados atribuídos aos pedidos quando você altera o endereço de email principal atribuído ao cliente na página de edição da conta de administrador. Anteriormente, quando você editava o endereço de email principal de um cliente, o novo email era atribuído a cada pedido criado para esse cliente. GitHub-34397
  • O Adobe Commerce agora exibe registros do armazenamento solicitado na página de grade de avisos de crédito nas implantações que executam o PHP 7.4. Anteriormente, o Adobe Commerce exibia o seguinte erro depois de criar um memorando de crédito e tentar visualizá-lo: The store that was requested wasn't found. Verify the store and try again.
  • O Adobe Commerce agora exibe avisos de crédito na página de grade do aviso de crédito para ordens criadas a partir de exibições da loja cujo nome é anexado a números. Anteriormente, o Adobe Commerce exibia o erro: The store that was requested wasn't found. Verify the store and try again. Exception in /var/www/html/vendor/magento/module-store/Model/StoreRepository.php:75. GitHub-35122
  • 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 total do envio no total da página de fatura.
  • O Adobe Commerce agora exibe o status correto do pedido durante o check-out quando o crédito da loja do cliente é usado.
  • A variável increment_id na sales_order tabela foi aumentada. Anteriormente, módulos de terceiros que presumiam que sales_order.increment_id tinha um comprimento de 50 caracteres, salvo apenas os primeiros 32 caracteres de um increment_id. GitHub-34521

Métodos de pagamento

  • Agora, os administradores podem fazer um pedido ao administrador usando o método de pagamento PayPal PayflowPro. Anteriormente, o Adobe Commerce exibia este erro: No such entity with cartId = 0.
  • A página de Revisão de pagamento no fluxo de trabalho de check-out agora exibe o nome do método de pagamento correto quando o pagamento é feito com Venmo, PayPal Mais tarde ou PayPal.
  • A variável cart a consulta não retorna mais todos os métodos de pagamento ativos para ordens livres. GitHub-34036

Braintree

  • Os comerciantes agora podem enviar um reembolso parcial para pedidos pagos com o Apple Pay through Braintree. Esse foi um problema conhecido no Adobe Commerce 2.4.4.

PayPal

  • O Adobe Commerce agora mostra o nome correto do cliente em um pedido de convidado pago com o PayPal. Anteriormente, o nome do cliente era exibido como Convidado.
  • O resolvedor da mutação createPaypalExpressToken foi atualizado para usar corretamente o valor especificado no campo de entrada use_paypal_credit. Anteriormente, ele tentava usar um paypal_credit campo. GitHub-35180

Desempenho

  • O desempenho do carregamento dinâmico de blocos foi aprimorado. Anteriormente, os segmentos de visitantes não eram armazenados em cache por site, o que causava consultas redundantes ao banco de dados para os mesmos dados.
  • O gerenciamento do cache Redis foi aprimorado com a adição do TTL (expiration date) para caches de dados de produtos associados configuráveis. Anteriormente, esses caches não eram removidos devido à ausência de valores TTL se a política de remoção de chave Redis estivesse configurada como uma política de remoção volátil.
  • O novo Grid Filter Condition Type o atributo de endereço do cliente/cliente controla como um filtro de atributo é comparado aos valores de atributo no banco de dados. As opções incluem Partial Match, Prefix Match, e Full Match.
  • O indexador de texto completo da Pesquisa no catálogo foi realocado fora do loop de lojas, o que simplifica a reindexação. GitHub-33984
  • Correção de um problema com array_merge em loops. GitHub-33929

Preços

  • Os atributos de preço que não têm valor no escopo padrão (mas que são definidos no nível da visualização de loja) agora são indexados corretamente. Anteriormente, as expressões SQL que recuperam valores de atributos de preço da tabela EAV não levavam em consideração o cenário em que o valor não foi definido no escopo padrão.
  • O preço listado na página de detalhes do produto agora é o mesmo preço listado no fluxo de trabalho de check-out para preços de nível que diferem pela quantidade selecionada (por exemplo, um produto com preço diferente com base na compra de 2 itens versus 5 itens). Anteriormente, o preço de check-out refletia o preço da quantidade mais baixa do produto.

Promoções

  • A variável Vezes usado o valor de um desconto não é mais incrementado duas vezes quando um cliente convidado faz um pedido com desconto e, posteriormente, registra uma conta.

ReCAPTCHA

  • A variável Enviar O botão nas páginas Logon e Criar uma conta agora fica inativo até que ReCaptcha seja totalmente carregado.

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

  • A variável GET /V1/returnsAttributeMetadata agora funciona corretamente quando a variável rma_item a ID do conjunto de atributos padrão da entidade é diferente da ID de instalação padrão. Anteriormente, esse endpoint retornava um resultado vazio se essas IDs diferissem.
  • A variável Usar padrão que é usada para habilitar o RMA na página de edição do produto, agora funciona conforme esperado na Loja padrão. Anteriormente, a caixa de seleção era desmarcada imediatamente após o produto ser salvo.

Recompensas

  • Os pontos de premiação agora podem ser reembolsados quando a funcionalidade de crédito de loja está desabilitada.
  • O desempenho do check-out foi aprimorado quando os pontos de premiação são aplicados. Quando entity for nulo, a consulta do banco de dados não será executada porque a consulta do magento_reward_history tabela não é obrigatória nessas circunstâncias.
  • Os avisos de crédito para ordens de convidado não verificam mais customer_id, que ignora a consulta do magento_reward_history tabela de banco de dados para pontos de premiação. Essa alteração melhorou o desempenho.

Funções

  • A variável Loja > Configuração > Serviços A página agora exibe as informações da API da Web do Adobe Commerce conforme esperado quando o Acesso a recursos está definido como Personalizado na guia Recursos da função. GitHub-35506

Pesquisar search-heading

  • A filtragem de produtos por amostra de cor na navegação em camadas exibe a imagem correta dos produtos após a correção.
  • agora as consultas do Elasticsearch funcionam conforme esperado quando int está configurado como um back-end pesquisável type atributo. Anteriormente, o Adobe Commerce lançou uma Elasticsearch\Common\Exceptions\BadRequest400Exception exceção.
  • Agora você pode usar sinônimos de pesquisa junto com o Termos mínimos para corresponder parâmetro Em consultas Elasticsearch. Anteriormente, se esse parâmetro fosse especificado em configurações e os termos de pesquisa fossem adicionados a palavras-chave específicas, a pesquisa não retornava resultados.
  • O Adobe Commerce agora exibe uma contagem precisa de sugestões de resultados de pesquisa na loja em implantações em que as Sugestões de pesquisa e o Mostrar a contagem de resultados para cada sugestão são ativadas. Anteriormente, a contagem exibida ao lado das palavras-chave era zero.
  • Os produtos classificados por atributos personalizados na página Catálogo agora são exibidos na ordem esperada. Anteriormente, os produtos eram classificados por sua ID de valor de opção de atributo, que reflete a ordem em que foram adicionados ao atributo. GitHub-33810
  • A filtragem de produtos por amostra de cor na navegação em camadas agora exibe as imagens corretas do produto. Anteriormente, a navegação em camadas PageCache A chave não incluiu parâmetros de filtro para produtos configuráveis.
  • Correção de erros de PHP no catalogsearch/advanced/result e catalogsearch/advanced/index páginas. Anteriormente, o Adobe Commerce exibia esse erro quando uma matriz era passada em qualquer cadeia de caracteres de pesquisa avançada: Warning: trim() expects parameter 1 to be string, array given | magento/module-catalog-search. GitHub-33586

Envio

  • O Adobe Commerce não emitirá mais um erro ao carregar as taxas de envio da UPS se nenhum método de envio permitido for selecionado. Anteriormente, quando um comprador inseria um endereço de entrega no workflow de finalização da compra sob essas condições, nenhum outro método de entrega era exibido e o Adobe Commerce exibia um erro na loja. GitHub-34411
  • Os preços de produtos virtuais agora são excluídos no valor de envio da taxa da tabela de cálculo. Anteriormente, os custos de envio desses produtos não eram calculados corretamente.GitHub-35185
  • As taxas de remessa com taxa de tabela com preço zero agora são exibidas corretamente no bloco Resumo da Ordem do workflow de finalização da compra para ordens que tiveram um cupom de desconto aplicado. Anteriormente, o método de envio não era exibido.

Estágios

  • O Adobe Commerce não limpa mais o cache de página inteira depois de aplicar uma atualização de preparo para uma regra de vendas na qual as páginas em cache permanecem inalteradas.
  • O painel de preparo de conteúdo não exibe mais atualizações permanentes inativas.
  • A alteração da data final de uma atualização de preparo no painel de preparo agora aplica com êxito essas alterações à atualização de preparo e suas entidades. (Uma fila foi introduzida para processar alterações de atualizações de preparo.)
  • Os comerciantes agora podem remover uma data de término para uma atualização agendada ou excluir e recriar uma atualização. Anteriormente, quando uma data de término era removida, uma entidade permanecia programada para esse tempo. O Adobe Commerce agora remove a atualização desatualizada da reversão removida.
  • As atualizações de agendamento ativas para uma página CMS agora estão visíveis, conforme esperado, na seção Alterações agendadas da página CMS.
  • A variável custom_design_to o valor do atributo agora é atualizado conforme esperado quando uma atualização programada é alterada. Anteriormente, duas atualizações de design de categoria separadas sem hora de término eram tratadas como uma. Quando uma das atualizações programadas foi excluída enquanto a primeira estava em execução, a variável custom_design_from o valor de tempo tornou-se maior que o custom_design_to valores de tempo na próxima atualização agendada.
  • Agora os Forms são preenchidos com dados conforme esperado depois que uma atualização programada é editada.
  • A variável vendor/magento/module-catalog-staging/Setup/Patch/Data/MigrateCatalogProducts.php o patch de dados não falhará mais quando o banco de dados incluir o produto com opções personalizadas e a variável special_from_date atributo está definido.
  • As alterações são salvas durante uma segunda atualização agendada quando são adicionadas pela atualização em execução. Anteriormente, as alterações não eram salvas e os comerciantes precisavam entrar novamente e salvar as alterações.
  • O log de ações em massa agora exibe informações sobre falhas to be moved atualizações programadas. Anteriormente, as informações sobre essas falhas estavam disponíveis no cron.log somente arquivo.
  • Os comerciantes agora estão restritos a usar preços separados por vírgulas ao editar um preço de produto em uma atualização programada, independentemente da localidade. Anteriormente, os preços que continham vírgulas em uma atualização programada eram divididos por 1000, dependendo da localidade.
  • Problemas com o transporte doméstico da DHL em implantações que executam o PHP 8.1 foram resolvidos pela exigência de etiquetas tributáveis apenas para remessas internacionais.

Imposto

  • O Imposto Fixo do Produto (FPT) agora é exibido corretamente para os produtos no carrinho de compras. Anteriormente, se vários produtos no carrinho de compras tiverem Imposto Fixo do Produto (FPT) e Aplicar Imposto a FPT foram habilitados, todos os FPTs foram atribuídos ao último produto no carrinho de compras e redefinidos para outros produtos.
  • O total de Imposto fixo do produto (FPT) da seção de resumo do pedido do fluxo de trabalho de finalização agora é calculado corretamente.
  • O Adobe Commerce agora atualiza o preço da camada Excluir imposto para um produto simples na página do produto, conforme esperado depois que a quantidade do produto simples for alterada.
  • A validação foi adicionada à página de configuração de armazenamento para verificar se o país selecionado na lista suspensa está na lista de países da UE. A variável Validar Número IVA O botão agora está visível somente para países da UE. Anteriormente, o botão estava visível para todos os países, incluindo o Reino Unido.
  • Os preços de nível agora são calculados corretamente quando Exibir Preços De Produto No Catálogo está definido como Excluindo Imposto ou Incluindo e Excluindo Imposto. Anteriormente, a página de detalhes do produto exibia preços de camada com impostos, apesar da configuração.
  • Agora, os impostos são aplicados corretamente para pedidos em qualquer endereço válido em vitrines usando a localidade portuguesa. GitHub-34271
  • A variável cart a consulta não inclui mais o imposto na devolução subtotal_with_discount_excluding_tax. GitHub-33905
  • Solicitações de API da Web para dados de pedido (GET /V1/orders/) não retorna mais valores negativos para os totais das linhas.

Teste

  • Erros corrigidos com Magento.GraphQl.CatalogGraphQl.ProductSearchTest.testSearchSuggestions quando executado com a configuração AWS Elasticsearch.
  • A variável testCreateProductOnStoreLevel O teste de integração do não causa mais uma transação aninhada no banco de dados.

  • A seguinte exceção não ocorre mais ao executar testes WebAPI para o recurso Enviar amigo quando a imagem do produto não estiver definida no PHP 8.1: exception main.ERROR: /var/www/html/lib/internal/Magento/Framework/DataObject.php:131 strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated. GitHub-34864

Traduções e códigos de idiomas

  • Agora é possível usar a ferramenta Traduzir em linha para editar o mesmo elemento mais de uma vez. Anteriormente, somente a primeira alteração feita com essa ferramenta era incluída.
  • O seletor de exibição de armazenamento não bloqueia mais o painel de tradução ao editar texto ou rótulos de Administração. Agora é possível editar esses recursos no painel de tradução, e a interface exibe essas alterações ao clicar em Enviar.
  • O formato de data e hora do Administrador para locais em português e francês do Brasil agora é válido.
  • Adição de um acento grave [`] para que a conta do cliente possa ser criada para nomes ou sobrenomes que incluam este acento.
  • O texto sobre o Adicionar ao carrinho O botão na página Detalhes do produto agora permanece traduzido para o idioma especificado no local associado. Os arquivos de tradução agora são convertidos em arquivos JavaScript correspondentes com base nas áreas, temas e localidades quando translate_strategy=embedded. Anteriormente, o texto era revertido para o inglês depois que o produto era adicionado ao carrinho.
  • Os Sinônimos de pesquisa agora respeitam o escopo de armazenamento atribuído. Anteriormente, um sinônimo atribuído a uma loja específica era pesquisável em qualquer outra loja.
  • Problemas com a localidade filipina (Filipinas) foram resolvidos. GitHub-33996

IU

  • Nomes extensos de produtos na Catálogo > Produtos agora as grades são quebradas automaticamente em vez de exibidas em uma única linha.
  • O intervalo de datas mínimo e máximo agora é salvo como um carimbo de data e hora correto e convertido de um carimbo de data e hora válido em um formato de data válido.
  • A indisponibilidade de magento.com O não causa mais problemas de desempenho durante o logon de administrador. Foi adicionado um tempo limite na solicitação para buscar a notificação de lançamento.
  • Os resultados dos filtros de ordem de Administrador, cliente e grade de produto agora persistem conforme esperado quando exibidos no navegador Chrome.
  • Agora você pode criar um cliente do Administrador do Magento_LoginAsCustomerAdminUi está ativado e Armazenar exibição para logon em está definida como seleção manual. Anteriormente, o Adobe Commerce exibia este erro: (Magento\Framework\Exception\LocalizedException): Unable to get Customer ID. GitHub-33096
  • A seta Avançar agora fica desativada conforme esperado quando um comprador atinge a última imagem em miniatura na galeria de imagens do produto.
  • A variável Pesquisar por palavra-chave o campo de entrada agora tem um aria-label elemento em vez de um espaço reservado na Catálogo > Produto página.
  • O link Política de privacidade no rodapé do Administrador agora vincula à nova Política de privacidade do Adobe.
  • Agora, os administradores podem acessar as opções de menu Admin quando o empacotamento do JavaScript está ativado no modo de produção. GitHub-35325
  • Agora, os administradores podem definir uma data de expiração do usuário atual superior a 2038 e salvar o usuário com êxito. Anteriormente, o usuário cuja data de expiração foi alterada não podia fazer logon novamente após fazer logoff.
  • O Adobe Commerce agora exibe uma mensagem de erro informativa quando um administrador tenta salvar um endereço com linhas de rua em excesso no Administrador Loja > Atributos > Endereço do Cliente. O administrador agora pode excluir as informações adicionais de endereço e salvar o endereço com êxito. Anteriormente, o Adobe Commerce confirmava as linhas extras, mas não salvava os dados.
  • A configuração da exibição de lista de produtos no banco de dados e no armazenamento local foi atualizada. As exibições de grade personalizadas agora são salvas durante o recarregamento da página e as alterações de exibição.
  • Agora você pode alternar entre exibições de loja quando as restrições de site estão ativadas. Anteriormente, problemas com o alternador de exibição de armazenamento impedia a alternância de exibições de armazenamento.
  • O formulário de upload do ícone favicon agora é compatível .ico tipos de arquivo. Anteriormente, ao tentar fazer upload de um arquivo favicon com esse tipo de extensão no Admin, o Adobe Commerce exibia o seguinte erro: Warning: imagecreatefromstring(): one parameter to a memory allocation multiplication is negative or zero, failing operation gracefully in /var/www/html/vendor/magento/module-media-storage/Model/File/Validator/Image.php on line 64. GitHub-34858
  • Problemas de exibição corrigidos com o menu suspenso Selecionar na grade de administração. GitHub-35386

Substituições de URL

  • Os URLs de um produto somente em uma exibição de loja específica agora são removidos da url_rewrite tabela e Administrador depois que o status de visibilidade do código de atributo da exibição de loja específica for alterado para Não visível individualmente. Anteriormente, todos os URLs eram removidos do produto na url_rewrite tabela. GitHub-34937

Vídeo

  • Agora você pode usar os parâmetros de URL do YouTube usando o Page Builder para adicionar um novo vídeo. Anteriormente, esses parâmetros eram removidos automaticamente do URL.
  • Agora você pode configurar um vídeo do Vimeo para ser executado em segundo plano em um banner elemento quando a CSP está definida como restrict mode. Anteriormente, o Adobe Commerce exibia um erro de JavaScript.

Estrutura da API da Web

  • O mutex foi implementado para pedidos para evitar condições de corrida durante a atualização por solicitações simultâneas. Anteriormente, as condições de corrida durante chamadas REST API simultâneas resultavam em uma substituição das informações de status de envio na tabela Itens de administração solicitados.
  • A herança da função de imagem do produto agora é preservada, a menos que explicitamente definida na carga ao atualizar um produto em uma exibição de loja específica por meio da API REST.
  • O esquema Swagger (/rest/schema) agora usa IDs de operação exclusivas.
  • Regras de preço do carrinho criadas por meio do POST /V1/salesRules/ O endpoint agora retém valores de código de cupom existentes após alterar o status de desativado para ativado. GitHub-35298
  • Regras de preço do carrinho criadas por meio do POST /V1/salesRules/ ponto de extremidade agora contém válido from_date e to_date valores. GitHub-35265
  • CartItemInterface agora inclui customizable_options. GitHub-31180
  • As solicitações de PUT e DELETE em massa da REST API agora funcionam conforme esperado quando a variável Magento_ReCaptchaWebapiRest o módulo está ativado. GitHub-35348
  • A API Rest em massa agora funciona com o bySku opção para produtos configuráveis. Anteriormente, retornava um erro 500.
  • A variável /V1/products/base-prices O endpoint agora funciona conforme esperado com Modo de Preço de Catálogo - Site. GitHub-30132
  • Criar uma nova programação de preços especial com o POST /V1/products/special-price O endpoint agora funciona conforme esperado. Anteriormente, o endpoint retornava este erro: Future Update already exists in this time range. Set a different range and try again.

Lista de desejos

  • Atualizar uma quantidade de item na página da lista de desejos agora atualiza a quantidade na página de detalhes do produto, conforme esperado. O Adobe Commerce agora seleciona o valor atualizado do URL do produto e preenche o qty da página de detalhes do produto na própria lista de desejos.

Problemas conhecidos

Problema: as etiquetas da regra de vendas por etapa podem ser incompatíveis após uma atualização para o Adobe Commerce 2.4.6 ou posterior a partir de versões de produto anteriores à 2.4.5. Solução alternativa: Aplique ACSD-50625_2.4.5-P1.patch durante a atualização antes da etapa Atualizar metadados. Consulte problemas de rótulos de salesRules ao atualizar de versões anteriores à 2.4.5 Artigo da knowledge base.

Etapas gerais para resolver esse problema:

  1. Baixe o patch necessário. Consulte a problemas de rótulos de salesRules ao atualizar de versões anteriores à 2.4.5 Artigo da knowledge base.
  2. Siga as etapas de atualização descritas na fase Gerenciar pacotes do processo de atualização Executar uma atualização.
  3. Aplique este patch durante a atualização após a fase Gerenciar pacotes e antes da fase Atualizar metadados. Consulte Como aplicar um patch de compositor fornecido pelo Adobe .
  4. Conclua o processo de atualização.

Problema: os usuários administradores não podem criar um pedido ou um novo pedido para clientes do Administrador quando o Braintree está habilitado. Quando o usuário administrador clica em Pedido ou Reordenar, a Adobe Commerce não envia o pedido e a system.log O exibe este erro: report.CRITICAL: Error: Call to a member function getMethodInstance() on null in /app/vendor/paypal/module-braintree-core/Block/Form.php:174. Solução alternativa: BUNDLE-3137-composer.patch O agora está disponível. Consulte a O administrador não pode criar pedido/reordenação quando o pagamento Braintree está ativado Artigo da Base de conhecimento para obter uma discussão sobre esse problema e o acesso ao patch. Os comerciantes da nuvem devem baixar os Patches da nuvem para o Commerce v1.0.18. Uma correção também será incluída no Adobe Commerce 2.4.5-p1.

Problema: RabbitMQ os elementos de infraestrutura (trocas, filas) podem não ser inicializados após uma nova instalação (não atualização) do Adobe Commerce 2.4.5. Esta configuração incorreta de RabbitMQ pode resultar em um erro fatal quando operações assíncronas são executadas ou um perfil de desempenho é gerado. As implantações em nuvem não são afetadas. Solução alternativa: os comerciantes que executam uma instalação nova do Adobe Commerce 2.4.5 no local devem executar bin/magento setup:upgrade --keep-generated depois de usar bin/magento setup:config:set para configurar RabbitMQ ou instale o Adobe Commerce transmitindo RabbitMQ opções de configuração para o setup:install comando. Consulte RabbitMQ.

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 Colaboradores Magento O mantém uma lista dos principais contribuintes 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

É possível instalar o Adobe Commerce 2.4.5 usando Compositor.

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