Notas de versão do Magento Open Source 2.4.5

O Magento Open Source introduz melhorias 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.

Esta versão inclui mais de 290 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 para esses recursos esteja incluído nas versões trimestrais do código principal do Magento Open Source, vários desses projetos também são lançados independentemente. As correções de erros para esses projetos estão documentadas nas informações de versão separadas e específicas do projeto, disponíveis na documentação de cada projeto.

Destaques do Magento Open Source 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 na segurança da plataforma. Esta correção de segurança teve backport para o Magento Open Source 2.4.4-p1 e Magento Open Source 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

O Magento Open Source 2.4.5 agora suporta

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

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

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 aplicativo Open Source 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.

Page Builder

O Page Builder v.1.7.2 é compatível com o Magento Open Source 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 no Administrador para as páginas de check-out, minicart, 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 Magento Open Source.

  • 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 Magento Open Source 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 compatíveis do Magento Open Source.

Problemas corrigidos

Corrigimos centenas de problemas no código principal Magento Open Source 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 Magento Open Source agora verifica se aliases de patch de dados já existiam no banco de dados antes de aplicar o patch. Anteriormente, o applicationOpen Source gerava um erro sob essas condições.
  • O Magento Open Source 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 Magento Open Source 2.4.2 com o Klarna para o Magento Open Source 2.4.3. GitHub-33760
  • O caminho para o Magento Open Source Analytics não é mais codificado. Anteriormente, esse caminho codificado resultava em conflitos quando várias instâncias de Magento Open Source 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.
  • O Magento Open Source agora 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 de Magento Open Source é 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 applicationOpen Source gerava 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 aplicativo Open Source 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.
  • 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 aplicativo Open Source 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.
  • 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.
  • 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 Magento Open Source 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 acionou 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, o aplicativo Open Source adicionará recentemente a exibição de 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 Quando a solicitação Ajax é enviada, o aplicativo Open Source 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.
  • 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 Magento Open Source 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 Magento Open Source 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 Magento Open Source agora exibe uma mensagem de erro, conforme esperado, quando você tenta criar um atributo na página do produto sem preencher o campo Admin. 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

Produtos configuráveis

  • O Magento Open Source 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 applicationOpen Source salvava a opção padrão para atributos não selecionados, bem como para atributos selecionados ao salvar um produto.
  • O Magento Open Source 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 applicationOpen Source gerava 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

  • 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 Magento Open Source 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.

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. 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 Magento Open Source 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 Magento Open Source 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 applicationOpen Source 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 Magento Open Source 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 Magento Open Source 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 Magento Open Source 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 Magento Open Source 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.
  • O Magento Open Source não lança mais uma exceção quando você adiciona um pacote de produto por meio do Page Builder.
  • 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 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 Magento Open Source 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 Magento Open Source não lança 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 applicationOpen Source gerava um erro 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 Magento Open Source não lança mais o seguinte erro durante a criação de uma regra de catálogo no Admin 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 Magento Open Source 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

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 applicationOpen Source gerava 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 de Magento Open Source não terminam mais após a realização de uma solicitação GraphQL. Anteriormente, a variável ClearCustomerSessionAfterRequest plug-in fez logout do comprador. GitHub-34550
  • 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 applicationOpen Source gerava um erro quando você usava 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
  • products as consultas não retornam mais price_range valores para produtos configuráveis afetados por variantes desabilitadas. GitHub-33629
  • 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 Magento Open Source 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 Magento Open Source agora importa com sucesso imagens com nomes de arquivo longos. Anteriormente, o applicationOpen Source 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 applicationOpen Source não validava nomes de categorias, o que resultava em erros quando os nomes de categorias 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 applicationOpen Source 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

  • 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 Magento Open Source 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 Magento Open Source agora exibe registros do armazenamento solicitado na página de grade de avisos de crédito em implantações executando o PHP 7.4. Anteriormente, o applicationOpen Source gerava o seguinte erro depois de criar um aviso de crédito e tentar visualizá-lo: The store that was requested wasn't found. Verify the store and try again.
  • O Magento Open Source agora exibe avisos de crédito na página da grade do aviso de crédito para ordens criadas nas exibições da loja cujo nome é anexado a números. Anteriormente, o applicationOpen Source 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 Magento Open Source agora exibe o custo do frete gratuito (0) nos totais da página de fatura de Admin e da loja. Anteriormente, quando o frete era zero para um pedido, o aplicativo de Origem Aberta não exibia o valor total do frete no total do frete da página da NFF.
  • 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 applicationOpen Source 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 Magento Open Source 2.4.4.

PayPal

  • O Magento Open Source 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 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.

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.

Funções

  • A variável Loja > Configuração > Serviços A página agora exibe informações da API da Web do Magento Open Source 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 applicationOpen Source gerava 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 Magento Open Source 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 Magento Open Source exibia esse erro quando uma matriz era passada em qualquer sequência de pesquisa avançada: Warning: trim() expects parameter 1 to be string, array given | magento/module-catalog-search. GitHub-33586

Envio

  • o Magento Open Source 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 Magento Open Source 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.

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 Magento Open Source 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 applicationOpen Source gerava 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 Magento Open Source 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 applicationOpen Source 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 este tipo de extensão no Admin, o aplicativo Open Source 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

  • 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 applicationOpen Source gerava 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.
  • 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.
  • A variável /V1/products/base-prices O endpoint agora funciona conforme esperado com Modo de Preço de Catálogo - Site. GitHub-30132

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 aplicativo Open Source 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.

Problema conhecido

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. Uma correção também será incluída no Adobe Commerce 2.4.5-p1.

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 Magento Open Source 2.4.5 usando Compositor.

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