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 as alterações incompatíveis com versões anteriores, consulte referência do BIC. Os principais problemas incompatíveis com versões anteriores estão descritos em destaques da BIC. Nem todas as versões introduzem os BICs principais.

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:

  • Braintree_disabled_partial_capture_for_applepay_googlepay.zip. Este patch resolve a incapacidade dos usuários de criar NFFs parciais ao usar o Apple Pay ou o Google Pay through Braintree como método de pagamento. Consulte o artigo da Base de Dados de Conhecimento Adobe Commerce 2.4.4: Não é possível criar faturas parciais.

  • AC-2655_2.4.4.patch.zip. Esse patch resolve um problema em que os compradores não podem adicionar um produto ao carrinho quando a opção Permitir países está desmarcada. Consulte o artigo da Base de conhecimento Permitir países🔗 sobre os Usuários não podem adicionar produtos ao carrinho se nada estiver selecionado.

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 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 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.

  • O filtro MaliciousCode foi atualizado para usar a biblioteca HtmlPurifier.

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 tem suporte em implantações hospedadas na 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

  • Compositor 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)

As dependências laminas/laminas-session, laminas/laminas-text e laminas/laminas-view foram removidas.

Outras atualizações e substituições

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

  • A URL de Gateway padrão para envio de USPS foi atualizada para usar https em vez de http.

  • A biblioteca Froogaloop foi substituída pela biblioteca Player.js do Vimeo (2.16.4).

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

  • As bibliotecas jQuery Storage foram substituídas por julien-maurel/js-storage.

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

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

  • Dependência serve-static.js (atualizada 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.

  • As bibliotecas jarallax.js e jaralax-video.js 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 primário foi aprimorado com a redução do número de índices primários de 3 para 1 para a tabela catalog_product_index_price_tmp. 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 ativada para a loja da Commerce, cada usuário administrador deverá usar suas credenciais de Adobe, e não as credenciais da 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 a nova opção de configuração Atribuição direta de preço de produto do Catálogo Compartilhado Habilitado também melhora o desempenho do indexador de preço de 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 Migrar do analytics.js para o 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.

  • O comando bin/magento config:set graphql/session/disable 1 permite que os comerciantes desabilitem 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 do 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 o 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 estas melhorias:

  • 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 opção Always request 3DS 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 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.

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 referências a classes principais não API removidas ou descontinuadas em di.xml e preferências para classes principais e interfaces.

  • 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 antigo nome de classe como um alias na tabela de banco de dados patch_list. 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 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

  • O botão Shopping bag 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 de fundo.
  • O texto do botão Filtrar e Classificar agora atende à taxa mínima de contraste de cores da WCAG 2.0 de 4,5:1 para texto 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 ponto de extremidade PUT /V1/products 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 desabilitado no Administrador quando o cache do Adobe Commerce é liberado e o use_stale_cache está habilitado.
  • 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 mutação addProductsToCart agora 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 consulta cart não retorna mais respostas nulas quando um produto está indisponível. Um novo elemento errors contendo a mensagem de erro foi introduzido na resposta. Anteriormente, ao executar uma consulta com um produto indisponível, o Adobe Commerce exibia um valor null na seção items da 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 seus carrinhos quando nenhuma opção no campo Permitir Países foi selecionada.
  • 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 Habilitar Persistência está definido 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 o tempo limite de uma sessão quando a Habilitar persistência está habilitada. GitHub-35183
  • Os comerciantes agora podem criar um memorando de crédito no qual Reembolsar remessa (Incl. Imposto) está definido como -0,01 e agora é possível definir esse valor como 0. Anteriormente, o memorando de crédito não podia ser criado sob essas condições.

Regra de preço do carrinho

  • O escopo do atributo Parent Only agora é usado corretamente na condição Regra de 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.
  • Os produtos definidos como Não Visível Individualmente não aparecem 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, o atributo SKU Dinâmico permanecia definido como Sim mesmo se estivesse desabilitado 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 para 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 a tabela catalogrule_product_price após uma reindexação completa. Anteriormente, os acionadores eram removidos da tabela catalogrule_product_price após uma reindexação completa de catalogrule_rule ou catalogrule_product.
  • 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 retornava 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 campo ConfigurableWishlistItem.configured_variant substituiu o campo ConfigurableWishlistItem.child_sku. 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 configuração Synchronize widget products with backend storage estiver habilitada, o Adobe Commerce adicionará recentemente a exibição de dados do produto na tabela de banco de dados catalog_product_frontend_action. Inclui a ID do cliente ou visitante ao adicionar registros. A seção recently_viewed_product na resposta agora fica vazia se a ID do cliente e a ID do visitante forem nulas. Como resultado, quando a solicitação do Ajax customer/section/load é enviada, a Adobe Commerce pode filtrar corretamente os produtos visualizados recentemente com base na ID do cliente ou do visitante. Anteriormente, a resposta incluía todos os dados disponíveis na tabela do banco de dados catalog_product_frontend_action porque não havia verificação para uma ID vazia do cliente ou do visitante.
  • Agora as regras de categoria com um atributo Quantity para produtos configuráveis funcionam corretamente quando o preparo é implementado. Anteriormente, quando os produtos tinham valores diferentes para row_id e entity_id na tabela catalog_product_entity devido a atualizações de preparo, a funcionalidade Corresponder produto por regra do Visual Merchandiser não filtrava 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 do Escopo de Preços do Catálogo do site para global. Anteriormente, a página Resultados da Pesquisa no Catálogo exibia o preço global, e a página Detalhes do produto exibia o preço site. GitHub-34074
  • A navegação em camadas agora exibe produtos com os preços mais altos esperados quando o Cálculo da Etapa de Navegação de Preço é definido como Manual.
  • Agora é possível alterar o limite de produtos por página exibido em uma categoria quando a Paginação de Categoria de Lembrete está habilitada. Anteriormente, o cookie form_key e a interface do usuário form_key eram diferentes, e o Adobe Commerce exibia 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 consulta products agora recupera preços para produtos configuráveis que refletem com precisão a configuração Exibir Sem Estoque. 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 o 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 de atributos globais select por meio de um script de patch. Anteriormente, os atributos globais elegíveis estavam ocultos.
  • A mutação addConfigurableProductsToCart 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 eram 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 mutação addConfigurableProductsToCart 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

Email

  • 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. A nova função SQL TIMESTAMPDIFF(DAY, ,) substituiu a funçã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 em Fazer pedido. Anteriormente, a mensagem de erro era exibida na página Pagamento. [GitHub-33590] (https://github.com/magento/magento2/issues/33590

Estruturas

  • O comando bin/magento setup:config:set não substitui mais os prefixos de ID de cache já definidos em app/etc/env.php.
  • O comando bin/magento setup:static-content:deploy -s compact agora inclui estilos de temas filhos, 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 arquivo di.xml após a atualização.
  • A função updateCartCurrency agora define uma cadeia de caracteres em vez de um objeto dentro do objeto do carrinho. Anteriormente, o Adobe Commerce não carregava uma aspa usando getQuote porque a função updateCartCurrency definia um objeto em vez de uma cadeia de caracteres dentro do objeto do carrinho. GitHub-34199
  • Avisos de substituição não ocorrem mais em testes de unidade devido a \DateTimeFormatter::formatObject(). Este método agora funciona conforme esperado com valores numéricos para $format.
  • O Adobe Commerce não exibe mais um erro preg_replace() no Administrador. O terceiro argumento ($subject) agora é do tipo array|string em vez de bool.
  • O método isFreeShipping agora retorna um 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 quando você navega até /checkout/sidebar/updateItemQty/?item_qty=error na loja. Anteriormente, este 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 dispara mais um erro trim(): Passing null to parameter #1 ($string) of type string is deprecated quando a conexão AMPQ é configurada sem a configuração SSL.
  • Definição do banco de dados longblog corrigida para long blob. GitHub-35108
  • O texto sem formatação contendo aspas simples agora pode ser traduzido. GitHub-34319
  • Um TypeError em magento2/app/code/Magento/Security/Model/AdminSessionsManager.php foi corrigido de int para string. GitHub-34415
  • .htpasswd foi adicionado aos locais banidos no arquivo de configuração nginx. GitHub-35150
  • O tempo de carregamento das páginas de lista de produtos da categoria foi aprimorado com a adição de Magento_Ui/js/core/app como deps a app/code/Magento/Ui/view/frontend/requirejs-config.js. GitHub-34847
  • O método 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 dos módulos GraphQl-GroupedProductGraphQl 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 (Admin Armazenamento > Configurações > Configuração - Avançado) não desconecta mais o 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 um erro Name is not valid!.
  • A consulta products agora retorna informações do produto que refletem com precisão a configuração "Mostrar Produtos Relacionados". Os campos related_products, upsell_products e crosssell_products na GraphQL ProductInterface agora são resolvidos de acordo com a configuração Mostrar Produtos Relacionados, Mostrar Produtos de Venda Adicional e Mostrar Produtos de Venda Cruzada, respectivamente.
  • O atributo Definir Produto como Novo a Partir da Data agora exibe a data correta quando o atributo Definir Produto como Novo é definido por meio de uma atualização em massa de produto. Anteriormente, Definir produto como nova data de início era 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 como esperado com produtos que contêm multiselect atributos.
  • Os comerciantes agora podem adicionar um atributo de preço de camada (tier_price) às comparações de produtos. Anteriormente, a página de comparações de produtos falhava quando a configuração Comparável na loja desse atributo era habilitada. GitHub-35244
  • O Adobe Commerce agora exibe uma mensagem de erro ao definir um domínio de cookie inválido (Armazenamento > Configurações > Web > Domínio de Cookie Padrão de Configurações). 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 a caixa de seleção Marque aqui para vincular um feed RSS à sua Lista de Desejos antes de clicar em Compartilhar Lista de Desejos. GitHub-34998
  • O título da caixa de seleção Mostrar senha (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 traduzido. GitHub-34857
  • Atualização dos rótulos e descrições de comentários em app/code/Magento/NewRelicReporting/etc/adminhtml/system.xml. GitHub-31947
  • csp_whitelist.xml arquivos desnecessários removidos. GitHub-30607

Cartões-presente

  • products as consultas agora retornam corretamente os dados do produto que contêm produtos de cartão-presente com uma chave de URL gift-card.

GraphQL

  • Um atributo price_range ausente foi adicionado ao tipo BundleItemOption do GraphQL. GitHub-35010
  • A consulta products não retorna mais atributos como uma agregação quando a configuração de Navegação em Camadas Usar em Resultados de Pesquisa está desabilitada. GitHub-33318
  • Um campo price_including_tax foi adicionado a CartItemPrices. GitHub-29057
  • O new_from_data e new_to_datefields em ProductInterface não estão mais obsoletos. GitHub-34783
  • A consulta categories não lança 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çou esta exceção: Category image not found. GitHub-34266
  • A consulta products agora retorna category_uid como uma agregação conforme esperado. GitHub-32557
  • A mutação updateCartItems agora remove produtos conforme esperado quando o estoque de produtos atingiu o valor máximo de estoque. GitHub-30220
  • A consulta urlResolver agora 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, o plug-in ClearCustomerSessionAfterRequest desconectou o comprador. GitHub-34550
  • A consulta products não retorna mais price_range valores para produtos configuráveis que são afetados por variantes desabilitadas. GitHub-33629
  • O intervalo de preços do produto configurável em products respostas de consulta agora é calculado corretamente quando a configuração Exibir Produtos sem Estoque é habilitada. Anteriormente, as opções desativadas eram consideradas no cálculo do preço mínimo e máximo.
  • A consulta products agora retorna várias categorias corretamente filtradas ao classificar por posição.
  • setShippingAddressesOnCart solicitações 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 consultas agora retornam somente as categorias associadas ao armazenamento transmitido na solicitação.
  • A consulta categoryList agora retorna resultados que refletem a categoria raiz do armazenamento consultado quando o armazenamento é especificado 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 consulta products não retorna mais atributos como agregação quando a configuração Usar na Navegação em Camadas de Resultados da Pesquisa está desabilitada. GitHub-33318
  • A consulta cart 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 chamada collectQuoteTotals para garantir que os créditos da loja não sejam aplicados várias vezes.
  • A mutação generateCustomerTokenAsAdmin agora recupera os tokens do cliente conforme esperado. Anteriormente, os tokens não eram retornados e este erro era retornado: Customer email provided does not exist.
  • O esquema do GraphQL agora é válido quando um atributo de produto personalizado type é definido. Anteriormente, o esquema era inválido porque o atributo type nos tipos de produtos foi substituído pelo atributo type personalizado. GitHub-34929
  • Os clientes adicionados ou atualizados com a mutação do createCustomer, createCustomerV2, updateCustomer ou updateCustomerV2 agora são adicionados com assinaturas ativas no 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 consulta products para uma exibição de repositório específica agora retorna somente 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 consulta products agora retorna somente a subcategoria da ID de categoria fornecida. Anteriormente, retornava todas as categorias. GitHub-35220
  • A consulta customerOrders agora responde conforme esperado quando o objeto gift_message é 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 indexador catalog_category_product que fazia com que a consulta products retornasse categorias de outro armazenamento. GitHub-31253
  • A mutação generateCustomerToken agora cria uma entrada em customer_log, conforme esperado após gerar um token de 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 gerou 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 êxito devido a melhorias no construtor de consultas dentro do método populateExistingOptions. 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.
  • Os registros existentes na tabela catalog_url_rewrite_product_category agora são excluídos antes de inserir novos. 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 da lógica delayedRender para a barra de ferramentas no TinyMCE.
  • As condições de corrida não interrompem mais a criação do ouvinte de eventos contentUpdated. GitHub-32068
  • A função getTypeID agora retorna a ID do tipo de produto, não a ID do produto. GitHub-35458
  • O controle deslizante da interface do jQuery e o mapeamento de SelectMenu foram corrigidos em vendor/magento/module-theme/view/base/requirejs-config.js.

  • Os observadores colocados em sales_order_state_change_before agora oferecem suporte à recuperação de dados do objeto de pedido. O argumento sales_order_state_change_before event foi atualizado. GitHub-26789

  • indexer:reset foi refatorado para chamar $indexer->invalidate(). GitHub-34988
  • Agora você pode usar o símbolo de dois pontos em um valor de atributo htmlClass, 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 o manipulador postDispatch não tivesse sido 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 Boletim Informativo.
  • O email de confirmação da assinatura do boletim informativo agora tem o endereço de email correto e específico da loja no campo De, se o cliente estiver atribuído a uma loja não padrão e tiver assinado ou cancelado a assinatura do Administrador. Anteriormente, o cliente recebia um email com o email padrão no cabeçalho De. 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 memorando de crédito com uma quantidade total decimal quando a Quantidade decimal está desabilitada em um nível de configuração global ou de produto. 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 exibi-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 coluna increment_id na tabela sales_order foi aumentada. Anteriormente, módulos de terceiros que presumiam que sales_order.increment_id tinha um comprimento de 50 caracteres salvavam 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 consulta cart 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 tentou usar um campo paypal_credit inválido. 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 atributo de endereço cliente/cliente do Grid Filter Condition Type 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

  • O valor Vezes Usado para um desconto não é mais incrementado duas vezes quando um cliente convidado faz um pedido com desconto e subsequentemente registra uma conta.

ReCAPTCHA

  • O botão Enviar nas páginas Logon e Criar uma Conta agora ficará inativo até que ReCaptcha seja totalmente carregado.

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

  • O ponto de extremidade GET /V1/returnsAttributeMetadata agora funciona corretamente quando a ID do conjunto de atributos padrão da entidade rma_item é diferente da ID de instalação padrão. Anteriormente, esse endpoint retornava um resultado vazio se essas IDs diferissem.
  • A caixa de seleção Usar padrão, 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 da tabela magento_reward_history não é obrigatória nessas circunstâncias.
  • Os memorandos de crédito para ordens de convidados não verificam mais customer_id, o que ignora a consulta da tabela de banco de dados magento_reward_history para pontos de premiação. Essa alteração melhorou o desempenho.

Funções

  • A página Armazenamento > Configuração > Serviços agora exibe as informações da API Web do Adobe Commerce conforme esperado quando o Acesso a Recursos está definido como Personalizado na guia Recursos de 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.
  • As consultas Elasticsearch agora funcionam como esperado quando int está configurado como um atributo type de back-end pesquisável. Anteriormente, o Adobe Commerce lançava uma exceção Elasticsearch\Common\Exceptions\BadRequest400Exception.
  • Agora você pode usar sinônimos de pesquisa junto com o parâmetro Mínimo de Termos para Correspondência 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 a configuração Mostrar contagem de resultados para cada sugestão estão habilitadas. 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 chave PageCache de navegação em camadas não incluía parâmetros de filtro para produtos configuráveis.
  • Correção de erros PHP no catalogsearch/advanced/result e catalogsearch/advanced/index páginas. Anteriormente, o Adobe Commerce exibia este 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.
  • O valor do atributo custom_design_to agora é atualizado conforme esperado quando uma atualização agendada é alterada. Anteriormente, duas atualizações de design de categoria separadas sem hora de término eram tratadas como uma. Quando uma das atualizações agendadas foi excluída enquanto a primeira estava em execução, o valor de tempo custom_design_from tornou-se maior que os valores de tempo custom_design_to na próxima atualização agendada.
  • Agora os Forms são preenchidos com dados conforme esperado depois que uma atualização programada é editada.
  • O patch de dados do vendor/magento/module-catalog-staging/Setup/Patch/Data/MigrateCatalogProducts.php não falha mais quando o banco de dados inclui um produto com opções personalizadas e o atributo special_from_date 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 to be moved atualizações agendadas com falha. Anteriormente, as informações sobre essas falhas estavam disponíveis somente no arquivo cron.log.
  • 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 tivessem Imposto Fixo do Produto (FPT) e Aplicar Imposto ao FPT habilitados, todos os FPTs eram 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. O botão Validar Número IVA agora está visível apenas 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 camada 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 consulta cart não inclui mais impostos ao retornar subtotal_with_discount_excluding_tax. GitHub-33905
  • As solicitações de API da Web para dados de pedido (GET /V1/orders/) não retornam mais valores negativos para totais de linha.

Teste

  • Correção de erros com Magento.GraphQl.CatalogGraphQl.ProductSearchTest.testSearchSuggestions quando executado com a configuração AWS Elasticsearch.
  • O teste de integração testCreateProductOnStoreLevel 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 está 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 você pode editar esses recursos no painel de tradução, e a interface exibe essas alterações quando você clica 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 caractere de acento grave [`] ao validador de nome para que a conta do cliente possa ser criada para o nome ou sobrenome que inclua esse acento.
  • O texto do botão Adicionar ao carrinho 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 grade Catálogo > Produtos agora são quebra automática em vez de exibidos 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 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 Ordem do administrador, cliente e grade de produto agora persistem conforme esperado quando exibidos no navegador Chrome.
  • Agora você pode criar um cliente no Administrador quando Magento_LoginAsCustomerAdminUi estiver habilitado e Exibir para Logon estiver definido 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.
  • O campo de entrada Pesquisar por palavra-chave agora tem um elemento aria-label em vez de um espaço reservado na página Catálogo > Produto.
  • 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 agrupamento 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 excesso de linhas na rua do 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 carregamento de ícone favicon agora oferece suporte a .ico tipos de arquivos. Anteriormente, ao tentar carregar um arquivo favicon com este tipo de extensão no Administrador, o Adobe Commerce exibia este 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

  • As URLs de um produto somente em uma exibição de loja específica agora são removidas da tabela url_rewrite e do Administrador depois que o status de visibilidade do código de atributo da exibição de loja específica é alterado para Não visível individualmente. Anteriormente, todas as URLs eram removidas do produto na tabela url_rewrite. 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 definir um vídeo do Vimeo para ser executado em segundo plano em um elemento banner quando a CSP estiver definida como restrict mode. Anteriormente, o Adobe Commerce emitia um erro no 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.
  • As regras de preço do carrinho criadas por meio do ponto de extremidade POST /V1/salesRules/ agora retêm valores de código de cupom existentes após alterar o status de desabilitado para habilitado. GitHub-35298
  • As regras de preço do carrinho criadas por meio do ponto de extremidade POST /V1/salesRules/ agora contêm valores from_date e to_date válidos. GitHub-35265
  • CartItemInterface agora inclui customizable_options. GitHub-31180
  • As solicitações de PUT e DELETE em massa da REST API agora funcionam como esperado quando o módulo Magento_ReCaptchaWebapiRest é habilitado. GitHub-35348
  • A API Rest em massa agora funciona com a opção bySku para produtos configuráveis. Anteriormente, retornava um erro 500.
  • O ponto de extremidade /V1/products/base-prices agora funciona conforme esperado com Modo de Preço de Catálogo - Site. GitHub-30132
  • Criar um novo agendamento de preço especial com o ponto de extremidade POST /V1/products/special-price agora funciona conforme esperado. Anteriormente, o ponto de extremidade retornou 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 da URL do produto e preenche o campo qty da página de detalhes do produto na própria lista de desejos.

Problemas conhecidos

Problema: rótulos de regra de vendas em etapas podem ser incompatíveis após uma atualização para o Adobe Commerce 2.4.6 ou posterior 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 o artigo salesRules labels issues when upgrade from versions < 2.4.5 Knowledge Base.

Etapas gerais para resolver esse problema:

  1. Baixe o patch necessário. Consulte o artigo salesRules labels issues quando atualizar de versões < 2.4.5 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 reordenar para clientes do Administrador quando o Braintree está habilitado. Quando o usuário administrador clica em Solicitar ou Reordenar, a Adobe Commerce não envia o pedido e o system.log 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 já está disponível. Consulte o artigo da Base de Dados de Conhecimento O administrador não pode criar pedido/reordenação quando o pagamento de Braintree estiver habilitado 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 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 do 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 nova instalação 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 instalar o Adobe Commerce passando as opções de configuração RabbitMQ para o comando setup:install. 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 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.5 usando o Composer.

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