Notas de versão do Adobe Commerce 2.4.4
O Adobe Commerce 2.4.4 apresenta suporte para o PHP 8.1. Todas as bibliotecas e dependências do projeto foram atualizadas para compatibilidade com o PHP 8.1. As dependências do Core Composer e bibliotecas de terceiros também foram atualizadas para as versões mais recentes que são compatíveis com o PHP 8.1. Esta versão também oferece suporte ao OpenSearch 1.2.
Essa versão inclui quase 250 correções de qualidade e melhorias.
Aplicar AC-3022.patch
continuar a oferecer a DHL como transportadora
A DHL apresentou o schema versão 6.2 e descontinuará o schema versão 6.0 em breve. Adobe Commerce 2.4.4 e versões anteriores que suportam a integração DHL suportam apenas a versão 6.0. Os comerciantes que implantarem essas versões devem aplicar AC-3022.patch
continuar a oferecer a DHL como transportadora. Consulte a Aplique um patch para continuar oferecendo a DHL como transportadora Artigo da Base de conhecimento para obter informações sobre como baixar e instalar o patch.
Outras informações sobre a versão
Embora o código desses recursos esteja incluído nas versões trimestrais do código principal do Adobe Commerce, vários desses projetos (por exemplo, B2B, Page Builder e Progressive Web Application (PWA) Studio) também são lançados independentemente. As correções de erros para esses projetos estão documentadas nas informações de versão separadas e específicas do projeto, disponíveis na documentação de cada projeto.
composer.json
antes da execução dos plug-ins. Atualmente, os plug-ins incluídos na variável composer.json
mas não marcadas como confiáveis são instaladas automaticamente. No entanto, a partir de julho de 2022, o Composer não carregará plug-ins, a menos que eles tenham sido explicitamente permitidos. Consulte a Problemas de plug-ins do Composer ao atualizar para o Adobe Commerce 2.4.4 Artigo da Base de conhecimento para obter instruções sobre como modificar o composer.json
arquivo para permitir explicitamente o carregamento do plug-in.Hotfixes incluídos nesta versão
O Adobe Commerce 2.4.4 inclui a resolução de todos os problemas abordados pelos seguintes hotfixes, que foram fornecidos para o Adobe Commerce e para o Magento Open Source 2.4.3, 2.4.3-p1 e 2.3.7-p2:
-
A vulnerabilidade abordada pelo
MDVA-43395_EE_2.4.3-p1_COMPOSER_v1.patch
eMDVA-43443_EE_2.4.3-p1_COMPOSER_v1.patch
foi resolvido nesta versão. -
AC-384_Fix_Incompatible_PHP_Method__2.4.3_ce.patch
. Este patch resolve um erro fatal de PHP que ocorreu durante a atualização. Consulte a Hotfix de erro fatal do PHP 2.4.3, 2.3.7-p1 para Adobe Commerce Artigo da knowledge base.
Aplique este hotfix após instalar a 2.4.4
Recomendamos que você aplique o seguinte patch após instalar o Adobe Commerce 2.4.4:
braintree-disabled-partial-capture-for-applepay-googlepay.patch
. Os comerciantes não podem enviar reembolsos parciais para pedidos pagos com o Apple Pay through Braintree. Quando um comerciante tenta criar um aviso de crédito para um reembolso parcial da NFF da ordem, a variável Qtde. para Reembolso O campo não é editável. Essa correção aborda esse problema. Consulte a Adobe Commerce 2.4.4: Não é possível criar faturas parciais Artigo da knowledge base.
Destaques do Adobe Commerce 2.4.4
Procure os seguintes destaques nesta versão.
Aprimoramentos de segurança
Esta versão inclui uma correção de segurança e melhorias na segurança da plataforma. O backup desta correção de segurança foi feito no Adobe Commerce 2.4.3-p2 e Adobe Commerce 2.3.7-p3.
Nenhum ataque confirmado relacionado a esses problemas ocorreu até o momento. No entanto, certas vulnerabilidades podem ser potencialmente exploradas para acessar informações do cliente ou assumir o controle de sessões de administrador. A maioria desses problemas exige que um invasor obtenha acesso ao Administrador primeiro. Como resultado, lembretes para tomar todas as medidas necessárias para proteger seu administrador são:
- IP ➡ incluir na lista de permissões
- autenticação de dois fatores
- uso de uma VPN
- uso de um local único em vez de
/admin
- boa higiene de senha
Consulte Boletim de segurança do Adobe para obter a discussão mais recente sobre esses problemas corrigidos.
Aprimoramentos adicionais de segurança
Os aprimoramentos de segurança desta versão melhoram a conformidade com as práticas recomendadas de segurança mais recentes, incluindo:
-
O uso da variável de email foi descontinuado na versão 2.3.4 como parte de uma mitigação de risco de segurança em favor de uma sintaxe de variável mais estrita. Esse comportamento herdado foi totalmente removido nesta versão como uma continuação dessa mitigação de riscos de segurança.
Como resultado, os modelos de email ou de informativo que funcionavam nas versões anteriores do Adobe Commerce podem não funcionar corretamente após a atualização para o Adobe Commerce 2.4.4 ou Magento Open Source 2.4.4. Os modelos afetados incluem substituições de administrador, temas, temas secundários e modelos de módulos personalizados ou extensões de terceiros. Sua implantação ainda pode ser afetada mesmo após o uso da Atualização da ferramenta de compatibilidade para corrigir usos obsoletos. Consulte Migração de modelos de email personalizados para obter informações sobre possíveis efeitos e diretrizes para migrar modelos afetados.
-
Os tokens de integração não podem mais ser usados para autenticação de token do portador da API. Anteriormente, um token de integração podia ser usado como uma chave independente para autenticação baseada em token. No entanto, esse comportamento foi desativado por padrão devido às implicações de segurança de um token de acesso que nunca expira. O comportamento anterior pode ser ativado por meio da linha de comando ou do Administrador. Consulte Autenticação baseada em token.
-
As IDs de sessão não são mais armazenadas no banco de dados.
-
Os tokens de acesso OAuth e os tokens de redefinição de senha agora são criptografados quando armazenados no banco de dados.
-
A validação foi fortalecida para impedir o upload de extensões de arquivo não alfanuméricas.
-
Adição do suporte ao reCAPTCHA aos códigos de cupom.
-
O Swagger agora está desativado por padrão quando o Adobe Commerce está no modo de produção.
-
O HTTPS agora está ativado por padrão para a loja da Adobe Commerce. A variável Usar URLs Seguros na Loja e Usar URLs seguras no Admin as configurações são ativadas por padrão e todos os cookies integrados agora são definidos como seguros.
-
O plug-in confusão de dependência agora é necessário para todas as instalações do Adobe Commerce. Anteriormente, esse plug-in era necessário somente para instalações baseadas no Composer. Agora, ela permite versões confiáveis. Os comerciantes podem ignorar as restrições definidas neste plug-in que proíbem determinadas combinações de instalações do Composer. As restrições podem ser ignoradas para versões confiáveis, e o Adobe Commerce agora exibe um aviso antes de continuar a instalação.
-
Os desenvolvedores agora podem configurar o limite de tamanho de arrays aceitos pelos endpoints RESTful da Adobe Commerce com base no endpoint. Consulte Segurança da API.
-
Adição de mecanismos para limitar o tamanho e o número de recursos que um usuário pode solicitar por meio de uma API da Web em todo o sistema e para substituir os padrões em módulos individuais. Isso soluciona o problema tratado pelo
MC-43048__set_rate_limits__2.4.3.patch
. Consulte Segurança da API.
Aprimoramentos na plataforma
O Adobe Commerce 2.4.4 é compatível com o PHP 8.1. Todas as bibliotecas e dependências do projeto foram atualizadas para compatibilidade com o PHP 8.1. Outras melhorias na plataforma incluem:
-
O Adobe Commerce 2.4.4 fornece suporte para o Elasticsearch 7.16 e OpenSearch 1.2. Os comerciantes do Adobe Commerce com implantações hospedadas no local podem usar qualquer solução. No entanto, o OpenSearch agora é o mecanismo de pesquisa padrão para implantações do Adobe Commerce 2.4.4 hospedadas na nuvem. Todos os clientes com implantações em nuvem que atualizam para a versão 2.4.4 devem usar o OpenSearch. Consulte Alternar para o OpenSearch para Adobe Commerce na nuvem 2.4.4
-
A variável
JQuery
A biblioteca do foi atualizada para a versão 3.6. A variáveljquery-ui
A biblioteca do foi atualizada para a versão 1.13.0. Várias outras bibliotecas JavaScript foram atualizadas para as versões mais recentes. -
O TinyMCE 5.8.1 agora é compatível. O TinyMCE 4 foi removido da base de código.
-
A variável
RequireJS
a biblioteca foi atualizada para a versão mais recente (v2.3.6). GitHub-33672 -
O PHPUnit foi atualizado para a versão mais recente (9.5.x). Os testes e estruturas de teste foram atualizados para serem compatíveis com a nova versão.
-
A maioria das dependências do Laminas foram atualizadas para as versões mais recentes compatíveis com o PHP 8.1. Três dependências do Laminas foram removidas da base de código para reduzir o número de dependências.
Atualização da interface do jQuery
A interface do jQuery foi atualizada para a versão mais recente (v1.13.0). Os seguintes componentes v1.10.0 jQuery foram removidos:
-
ajaxOptions
ecache
opções para guias. Consulte Guias. -
.zIndex()
. jQuery UI v1.12.1 incluijquery/z-index.js
, que permite a utilização de.zIndex()
. Consulte Interface principal. -
Fallbacks de dados para nomes de widget. Você deve usar o nome completo para o
.data()
chave. -
A codificação rígida de classes, como
ui-corner-all
em widgets.
Aprimoramentos de desempenho e escalabilidade
As melhorias de desempenho do Adobe Commerce aumentam o processamento de pedidos de alta taxa de transferência e a otimização da fila de mensagens. O recurso de pedidos assíncronos introduzido nesta versão oferece suporte à criação de aproximadamente 60.000 pedidos/hora. As versões anteriores do Adobe Commerce aceitavam o processamento de aproximadamente 10.000 pedidos por hora, o que apresentava um possível gargalo para vendas rápidas. O novo recurso de vários consumidores oferece suporte ao dimensionamento do número de consumidores da fila de mensagens em uma única instância da nuvem e aumenta o número de pedidos processados por hora.
Melhorias de desempenho nesta versão:
-
O recurso AsyncOrder oferece posicionamento mais rápido de pedidos do que a execução síncrona. Quando AsyncOrder está habilitado, o posicionamento do pedido é executado em segundo plano enquanto os compradores concluem outras tarefas na loja.
-
O novo Habilitar Verificação De Inventário Na Carga Do Carrinho A opção de configuração fornece uma verificação de inventário alternável ao carregar um produto no carrinho. Ela é ativada por padrão. Quando você desativa essa opção, o Adobe Commerce ignora a verificação de inventário à medida que a cotação é carregada, o que acelera a verificação, especialmente para carrinhos que contêm muitos itens.
-
O novo
multiple_processes
A opção de configuração do suporta a execução de consumidores paralelos em vários processos. Anteriormente,cron
executava um único consumidor quando necessário. Iniciar vários consumidores para executar processos em paralelo pode melhorar a velocidade de execução da tarefa. Para ativar esse recurso, adicionemultiple_processes
para oapp/etc/env.php
arquivo. -
As operações de carrinho para carrinhos contendo mais de 750 produtos configuráveis foram aprimoradas com o aumento do limite de memória definido pela
max_input_vars
nophp.ini
arquivo para suportar o volume de variáveis de entrada. -
Otimização do processamento de regras de vendas durante o check-out adiando o cálculo do total. Normalmente, o processamento de regras de vendas ocorre sempre que um comprador adiciona um produto ao carrinho, atualiza a quantidade do produto ou clica no Fazer pedido botão. Os comerciantes podem habilitar esse adiamento definindo o
checkout/deferred_total_calculating
na variávelenv.php
arquivo. Como alternativa, você pode executarbin/magento setup:config:set --deferred-total-calculating 1|0
. -
Melhorias no processo de validação para pedidos afetados por uma regra de preço de carrinho durante o posicionamento assíncrono do pedido.
Consulte Processamento de pedido de alta taxa de transferência.
GraphQL
Esta versão inclui estes aprimoramentos da GraphQL:
- Cobertura completa do GraphQL para cotações negociáveis. Os usuários da empresa B2B agora podem concluir todas as tarefas relacionadas a cotações negociáveis usando o GraphQL. As versões anteriores dessa API aceitavam fluxos de negociação, mas não check-out.
Novas mutações
-
assignCustomerToGuestCart
mutação -
placeNegotiableQuoteOrder
mutação -
setNegotiableQuoteBillingAddress
mutação -
setNegotiableQuotePaymentMethod
mutação -
Melhorias de desempenho:
-
O desempenho das operações do carrinho do GraphQL melhorou. A variável
collectQuoteTotals()
Agora, o método é chamado apenas uma vez durante uma solicitação GraphQL, o que reduz o tempo de resposta. -
O desempenho da vitrine eletrônica foi aprimorado por alterações em como as solicitações do GraphQL são armazenadas em cache. O Fastly e o Varnish agora armazenam em cache as solicitações do GraphQL enviadas com
auth
tokens.
-
-
Novas configurações de administrador relacionadas à loja. A variável
storeConfig
O query agora retorna as definições de configuração para os métodos de pagamento Check-out de Subtotal Zero e Ordem de Pagamento de Cheque/Moeda. -
Atualização da biblioteca principal do GraphQL. A variável
webonyx
A biblioteca do, que permite que o GraphQL principal funcione, foi atualizada para a versão ^14.9. -
Correção de problemas de tradução no GraphQL com lojas de vários sites e idiomas. O resolvedor do GraphQL agora retorna cadeias de caracteres traduzidas com base no escopo do armazenamento, conforme esperado.
-
O GraphQL agora fornece à New Relic nomes de transação descritivos, que podem ser úteis para depuração. GitHub-30915
Consulte a Guia do desenvolvedor do GraphQL para obter detalhes sobre esses aprimoramentos.
B2B
Esta versão inclui várias correções de erros. Consulte Notas de versão B2B.
Extensões agrupadas pelo fornecedor
Com exceção da Braintree, todas as extensões agrupadas por fornecedores foram removidas da base de código do Adobe Commerce 2.4.4. Os comerciantes devem migrar para as extensões oficiais, que estão disponíveis no Commerce Marketplace.
PWA Studio
O PWA Studio v.12.3.0 é compatível com o Adobe Commerce 2.4.4. Ele inclui suporte para reCaptcha, otimização de conteúdo do Page Builder e conteúdo personalizado. Para obter informações sobre aprimoramentos e correções de erros, consulte Versões do PWA Studio. Consulte Compatibilidade de versão para obter uma lista de versões do PWA Studio e suas versões Adobe Commerce core compatíveis.
Melhorias no pagamento do PayPal
-
A opção de pagamento Venmo agora é compatível.
-
Pagar mais tarde foi adicionado como uma opção para os compradores com base na localização do comprador, não na localização do comerciante.
-
Os comerciantes agora podem definir o país do comprador ao testar a experiência do comprador em seu país de escolha. Anteriormente, os testes estavam limitados apenas ao país em que o comerciante está localizado. Essa alteração é válida somente no modo sandbox.
-
As mensagens na página de check-out agora exibem mensagens precisas sobre quanto e em quantos incrementos o comprador deverá pagar ao usar Pagar mais tarde.
Live Search
O Live Search agora suporta o PHP 8.1.
O novo Magento_ElasticsearchCatalogPermissionsGraphQl
O módulo é desativado durante a atualização do Live Search instalação. As instalações existentes do Live Search devem ser atualizadas para o Live Search 2.0.0 para aproveitar esses recursos. Para obter mais informações, consulte o Live Search Notas de versão.
Atualizações de acessibilidade
Essa versão traz maior conformidade com as diretrizes de acessibilidade padrão. Esses aprimoramentos melhoram a experiência de usuários com visão limitada ou com habilidades limitadas de linguagem, cognitivas e de aprendizado. O desempenho das ferramentas de Reader de tela também melhorou.
Os aprimoramentos de acessibilidade incluem:
- A dica de ferramenta vincula-se ao texto e aos rótulos precisos, focados em tarefas e visíveis para entradas
- Os botões de edição agora têm texto exclusivo.
- Agora, os botões do administrador têm um propósito exclusivo, acessível e descritivo de adesão aos padrões AA
- Imagens de ícones que transmitem significado agora fornecem uma alternativa textual.
- Contraste aprimorado nos botões do administrador e campos de formulário para uma relação de contraste de pelo menos 3:1 com cores adjacentes.
Page Builder
- Os comerciantes agora podem adicionar texto alternativo (
alt_text
) para imagens (Imagem, Banner, Slide) para aprimorar a acessibilidade do conteúdo. GitHub-746
Problemas corrigidos
Estamos corrigindo centenas de problemas no código principal do Adobe Commerce 2.4.4. Um subconjunto desses problemas corrigidos está descrito abaixo.
Instalação, atualização, implantação
- O Adobe Commerce agora registra erros de implantação de conteúdo estático em arquivos de log de build conforme esperado.
- Os patches de dados não podem mais ignorar as restrições exclusivas de uma tabela e inserir valores duplicados em uma tabela de banco de dados MySQL. Anteriormente, os patches podiam inserir valores duplicados, o que corrompia o banco de dados.
- Os comerciantes agora podem atualizar com êxito de uma implantação do Adobe Commerce 2.4.2 com o Klarna para o Adobe Commerce 2.4.3. GitHub-33760
- A configuração do gerador de mapas do site agora pode ser alterada com êxito a partir da linha de comando. Anteriormente, o Adobe Commerce exibia esse erro quando você tentava alterar a configuração do mapa de site fora do Administrador:
Import failed: Notice: Trying to access array offset on value of type null in app/code/Magento/Cron/Model/Config/Backend/Sitemap.php on line 78
. GitHub-31428
- A variável
bin/magento app:config:import
O comando agora é executado sem erros ao atualizartime
valores emconfig.php
. Anteriormente, alterar a configuração de alerta do produto por edição manual (ou seja, sem usar o Administrador) resultava em um erro.
Acessibilidade
- Erros de acessibilidade com navegação no carrinho e páginas de check-out foram resolvidos. GitHub-34483
- Agora, os leitores de tela podem ler todos os elementos de formulário relevantes nas páginas de produtos.
- O contraste foi aprimorado para os botões de exclusão de imagem e ícone de movimentação em toda a loja para melhorar a legibilidade para usuários com pouca visão.
- O ícone de lupa usado para executar pesquisas na interface do produto recebeu um nome acessível e uma alternativa textual.
- A barra de ferramentas do editor de rich text agora pode ser acessada usando a tecla Tab.
- A variável Este item tem peso selecione a entrada no Catálogo > Produto A página de detalhes agora tem rótulos visíveis e um nome acessível.
- O nome acessível do controle agora inclui o texto de seu rótulo visível para o número de itens por lista suspensa de páginas.
- A tabela controla no Catálogo > Produto a página detalhes agora tem rótulos visíveis e um nome acessível quando a tabela é recolhida.
- Os links de edição na tabela Produtos agora têm texto de link exclusivo e significativo.
- Os acionadores que expandem as dicas de ferramentas agora fornecem nomes textuais.
- Os botões em toda a loja agora têm nomes acessíveis exclusivos e descritivos. Anteriormente, os botões divididos com um botão de texto e um botão de ícone de seta para baixo adjacente tinham o mesmo nome acessível.
- O contraste foi aprimorado para os botões de exclusão de imagem e ícone de movimentação em toda a loja para melhorar a legibilidade para usuários com pouca visão.
- Alternativas textuais foram adicionadas ao ícone de lápis que aparece quando um comerciante edita a entrada da opção Otimização do mecanismo de pesquisa.
- O ícone de lupa usado para executar pesquisas na interface do produto recebeu um nome acessível e uma alternativa textual.
- A página do produto Nova visualização o campo de entrada de texto agora tem um nome acessível.
- A variável Este item tem peso selecione a entrada no Catálogo > Produto A página de detalhes agora tem rótulos visíveis e um nome acessível.
AdminGWS
- Os administradores com permissões restritas agora podem criar um retorno conforme esperado.
Infraestrutura
- Agora, os administradores podem fazer logon no Administrador em uma implantação para a qual um caminho de Administrador personalizado está configurado e a chave secreta está habilitada. Anteriormente, o Adobe Commerce exibia este erro:
Invalid security or form key. Please refresh the page
.
- O Adobe Commerce não redireciona mais para o escopo Exibição de todas as lojas quando a hierarquia de várias lojas for alterada. Anteriormente, depois que a hierarquia era salva, os compradores eram redirecionados para uma URL de loja incorreta e o escopo Todas as exibições de loja era selecionado em uma implantação de várias lojas.
Produtos do pacote
- Os compradores agora podem adicionar um pacote de produto com Imposto sobre o Produto Fixo e duas opções ao carrinho de compras. Anteriormente, o Adobe Commerce não adicionava o produto e exibia este erro:
We can't add this item to your shopping cart right now
.
- Validação de formulário na forma de
data-validate
emin
os atributos foram adicionados ao campo quantidade do carrinho para evitar valores negativos para produtos agrupados.
- A variável
products
o query agora filtra os produtos agrupados corretamente quando os produtos derivados são desativados no nível da visualização de loja. Anteriormente, a consulta retornava produtos secundários que estavam desabilitados no nível da visualização de loja.
cron
O agora limpa o cache de categorias do produto conforme esperado duranteindexer_update_all_views
execução. Anteriormente, o Adobe Commerce exibia uma contagem de produtos incorreta na página da categoria após a atualização em massa de muitos produtos na categoria.
- A Adobe Commerce agora atualiza o cache do produto da categoria conforme esperado quando um produto incluído reaparece em estoque.
- O algoritmo de limpeza de cache executado durante a reindexação foi otimizado. Os produtos do pacote agora são exibidos conforme esperado quando uma categoria é armazenada em cache durante a reindexação. Anteriormente, os produtos de pacote não eram exibidos por horas após as categorias de produto serem armazenadas em cache durante a reindexação.
- A conversão de moeda agora ocorre conforme esperado em confirmações por email para compras de pacotes de produtos em implantações de várias lojas que usam moedas diferentes. GitHub-33426
- Os descontos especiais de preço com preços avançados agora são exibidos corretamente para produtos de pacote com um prefixo % na grade de produtos. Anteriormente, um % desconto era exibido incorretamente com o prefixo $ em vez de % na grade de produtos.
- O status do produto agrupado no Administrador agora é atualizado automaticamente quando um produto relacionado altera seu status.
- O resolvedor do GraphQL para produtos de pacote agora verifica se os produtos de pacote filho foram desativados. Anteriormente, essa verificação não ocorria e consultas como
categoryList
produtos secundários devolvidos que não podiam ser vendidos.
cart
as respostas da consulta agora retornam descontos precisos para produtos agrupados com preços dinâmicos. Anteriormente, as respostas da consulta incluíam descontos aplicados a cada produto combinado individualmente.
Cache
- O cache da página não cresce mais rapidamente sob o uso típico. GitHub-9458
- Fazer um pedido não resulta mais na remoção de todas as tags de cache relacionadas aos produtos solicitados do cache de verniz. GitHub-30128
- O cache da página de site completo não é mais apagado ao atualizar um produto das principais categorias ou executar um índice para atualizar os atributos do produto ou o status do estoque. Anteriormente, o cache de verniz adicionava IDs de categoria de menu principal a todas as tags de cache de página. GitHub-33465
Carrinho e check-out
- O preço mínimo anunciado O que é isso? O link na página do carrinho agora é clicável e abre o pop-up de informações conforme esperado. Anteriormente, clicar nesse link não tinha efeito.
- Os compradores agora podem fazer pedidos sem erros após o tempo limite de uma sessão em implantações em que o carrinho de compras persistente está ativado. Anteriormente, o Adobe Commerce exibia um erro de pagamento após o tempo limite de uma sessão.
- Atribuir um valor alto de ordem de classificação a um atributo de endereço do cliente não causa mais degradação de desempenho na página de finalização.
- O Adobe Commerce agora reverte a quantidade do produto do carrinho de compras para o valor anterior se a quantidade atualizada for inválida.
- Clicar no Adicionar ao carrinho Na seção Visualizado recentemente, o botão agora redireciona conforme esperado para a página de detalhes do produto. Anteriormente, os compradores eram redirecionados para a página da lista de produtos.
- Os compradores convidados agora podem fazer check-out com sucesso com um endereço do cliente que contém vários tipos de atributos personalizados de endereço do cliente. Anteriormente, os valores de atributos personalizados não eram formatados corretamente quando exibidos durante o check-out. GitHub-30290
- A Adobe Commerce agora aplica corretamente o limite de frete gratuito a pedidos quando as taxas da tabela estão ativadas. GitHub-21832
- Agora você pode usar
POST /V1/guest-carts/:cartId/items
para adicionar produtos simples com opções diferentes a um carrinho. Anteriormente, essa chamada alterava a quantidade do primeiro produto simples adicionado, em vez de adicionar um segundo produto simples com as opções especificadas. GitHub-32302
- A seção Resumo de pedidos da página de finalização agora exibe a moeda e o valor corretos quando uma implantação é configurada para
Poland
país ePLN
moeda. Anteriormente, o carrinho de compras e a página de check-out exibiam a quantidade 0 PLN.
- O Adobe Commerce não lança mais um erro quando um comprador clica Atualizar carrinho depois de alterar a quantidade de um produto no minicarrinho. Anteriormente, o Adobe Commerce exibia este erro:
The quote item isn't found. Verify the item and try again
.
- GraphQL
products
as consultas de produtos configuráveis em uma loja específica agora retornam os intervalos de preço de produtos somente na loja especificada. Anteriormente, as solicitações retornavam faixas de preços para produtos simples em lojas não especificadas.
- O Adobe Commerce não lança esse erro mais quando um comprador adiciona um endereço de cobrança que não tem um campo de rua:
Uncaught TypeError: Unable to process binding "text: function(){return currentBillingAddress().street.join(', ') }"
. GitHub-33826
- O Adobe Commerce não lança mais um erro de console durante o check-out nas lojas das quais o minicarrinho foi removido. GitHub-34513
- O check-out não falhará mais no estágio de pagamento quando o endereço de faturamento não tiver valores de campo de rua ou o valor do campo de rua não for uma matriz. Anteriormente, o check-out falhava com este erro:
Uncaught TypeError: Unable to process binding "text: function(){return currentBillingAddress().street.join(', ') }"
. GitHub-33826
- O total de vendas agora é calculado corretamente na grade do relatório de cupom. Anteriormente, o total de vendas não incluía o valor do frete.
- Os descontos do carrinho completo agora são calculados corretamente quando o comprador alterna entre os métodos de envio.
- A lista suspensa para o Estado O campo na página Criar pedido do administrador agora é preenchido pelos valores predefinidos para o país selecionado. Anteriormente, esse campo era um campo de texto de entrada em vez de um menu suspenso.
- O Adobe Commerce não lança mais um erro depois que você usa o
addConfigurableProductsToCart
mutação para adicionar um produto configurável a um carrinho diretamente após alterar a exibição da loja.
- O Adobe Commerce não emite mais um erro ao usar o
addConfigurableProductsToCart
mutação para adicionar um filho desativado de um produto configurável ao carrinho. Anteriormente, o Adobe Commerce exibia um erro de violação de restrição de integridade.
- Os produtos de venda cruzada não estarão mais visíveis na página do carrinho quando a variável Mostrar itens de venda cruzada no carrinho de compras a definição de configuração está desativada.
- O valor de uso do cupom não será mais alterado se a ordem à qual o cupom foi aplicado falhar. Anteriormente, os cupons gerados automaticamente de uso único eram marcados como inválidos depois que o cupom era aplicado no carrinho, mas o pedido não era feito.
- A validação foi adicionada ao fluxo de trabalho de check-out para comparar o endereço do cliente com o valor padrão. Se o processo de validação identificar alterações, ele definirá
customer_address_id
paranull
para tratá-lo como um novo endereço de cliente. Anteriormente, se o cliente salvasse o endereço sem validação no check-out e o mesmo cliente tentasse fazer um pedido usando o mesmo endereço depois que a validação fosse aplicada ao campo de check-out, a Adobe Commerce não aceitaria o endereço editado e lançaria uma exceção.
Regras de preço do carrinho
- A geração de cupom agora está bloqueada até que a regra de preço do carrinho relacionada seja salva com o
auto
opção ativada. Se você tentar salvar essa regra sem ativar oauto
, o Adobe Commerce exibe esta mensagem:Rule is not saved with auto generate option enabled. Please save the rule and try again
.
- Foi adicionado um teste para confirmar a aplicação correta de um desconto de regra de preço do carrinho.
- Regras de preço do carrinho que usam uma condição SKU com Se um item for ENCONTRADO/NÃO ENCONTRADO no carrinho com Todas/Qualquer uma dessas condições for verdadeira O agora funciona conforme esperado com produtos configuráveis.
- As regras de preço do carrinho agora são aplicadas corretamente para produtos de pacote de preço fixo. Anteriormente, as regras de preço do carrinho não se aplicavam a esses produtos quando pelo menos um produto secundário tinha o mesmo conjunto de atributos especificado na condição de regra.
- Um produto com o preço de 0 agora pode ser adicionado com sucesso ao carrinho quando o Adobe Commerce é configurado com o Desconto de valor fixo para o carrinho inteiro regra de preço do carrinho. Anteriormente, o Adobe Commerce exibia este erro:
report.ERROR: Warning: Division by zero in /home/mer33515/public_html/ee24develop/app/code/Magento/SalesRule/Helper/CartFixedDiscount.php on line 85
.
- Correção de uma condição em que a variável
cart
a consulta retornou um valor de desconto impreciso quando as regras do carrinho de compras com descontos de valor fixo foram ativadas.
Catálogo
- O Adobe Commerce não lança mais uma exceção ao executar uma ação de atualização de atributo em massa na grade de produtos quando um produto tem uma
datetime
atributo.
- As consultas do GraphQL agora retornam resultados para produtos derivados de um produto configurável de acordo com as configurações de filtro de visibilidade do(s) produto(s) secundário(s).
- O Adobe Commerce não modifica mais os preços do produto relacionado quando os atributos configuráveis do produto são alterados. Anteriormente, o Preço mínimo anunciado (MAP) de um produto configurável substituía o preço dos produtos relacionados na loja.
- Agora, os administradores podem atribuir novamente o último produto restante em uma categoria e salvar a categoria vazia.
- Os valores de atributo de seleção múltipla/suspensa para a grade de produto e os filtros de Administração agora são derivados, conforme esperado, das configurações de Administração. Anteriormente, os valores de atributo eram derivados das configurações de armazenamento padrão.
- As consultas de categoria do GraphQL retornam informações sobre alterações em categorias preparadas, conforme esperado.
- As listas de produtos agora são renderizadas com precisão no Administrador em implantações com produtos atribuídos a uma categoria principal e suas subcategorias, mas em posições diferentes em cada categoria. Anteriormente, a renderização da lista de produtos falhava com este erro:
Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "<ID>" already exists
. GitHub-33145
- Atributos de seleção múltipla com muitas opções (acima de 150) agora podem ser atribuídos a novos produtos. Anteriormente, as opções de atributo eram salvas na variável
catalog_product_entity_varchar
e nem todas as opções estavam presentes quando você reabriu o produto no Administrador. GitHub-33486
- Adição da validação para o caso em que um roteador não pode instanciar uma classe de ação coletada de um URL. O Adobe Commerce agora exibe a mensagem de erro padrão. Anteriormente, o Adobe Commerce exibia este erro:
PHP Error: Cannot instantiate abstract class Magento\Catalog\Controller\Product\Compare
.
- O Adobe Commerce agora calcula os descontos corretamente quando duas regras de carrinho são aplicadas a um pedido que atende a essas condições: uma regra de carrinho é aplicada com um código de cupom e um Preço fixo no carrinho inteiro e a regra de preço do segundo carrinho não tem cupom e um Porcentagem de desconto do preço do produto condição. Anteriormente, o algoritmo relevante não podia dividir corretamente o desconto proporcionalmente entre os produtos do carrinho quando uma regra anterior do carrinho já aplicava um desconto em alguns produtos.
- A atribuição de muitos produtos (aproximadamente 10.000) a uma categoria não causa mais falha no navegador.
- Os atributos de imagem agora são salvos no banco de dados de forma consistente, seja salvando do Administrador ou importando. Anteriormente, os valores de texto ALT da imagem eram salvos de forma inconsistente. Se a imagem existia e o rótulo estava definido como nulo, o valor do rótulo não era redefinido no banco de dados.
- A consulta SQL do Widget de catálogo foi otimizada. Anteriormente, grandes consultas do MySQL atrasavam o carregamento da página e resultavam em interrupções do MySQL.
- Agora os filtros de preço funcionam corretamente com produtos configuráveis indisponíveis. Anteriormente, os produtos configuráveis esgotados não eram mostrados em sua faixa de preço correta.
- Atualizar um produto filho não remove mais o desconto de regra de catálogo herdado de seu produto configurável pai durante o processo de indexação parcial. Anteriormente, quando atribuíamos um produto configurável a uma categoria, mas não a seus produtos simples associados, e usávamos essa categoria para criar uma regra de catálogo, o Adobe Commerce removia a regra de catálogo atribuída ao produto simples durante o processo de indexação parcial.
- A lista de exibição de grade de produtos agrupados e configuráveis agora contém apenas produtos simples e virtuais ao adicionar opções de produto. Anteriormente, o aplicativo incluía produtos simples com opções.
Regra de catálogo
- Atualizações diárias de regras de catálogo não resultam mais em degradação de desempenho. Anteriormente, a indexação parcial de preços de produtos de catálogo não removia preços ou datas antigas.
- O Adobe Commerce não remove mais as regras de preço de catálogo em produtos configuráveis durante a reindexação parcial. Anteriormente, somente os subprodutos eram reindexados quando os produtos configuráveis eram reindexados.
- Regras de preço de catálogo com o a categoria não é category_id Agora a condição do se aplica a produtos que não pertencem a nenhuma categoria.
Produtos configuráveis
- O nome do rótulo da opção de produto configurável agora se baseia na exibição de loja selecionada durante a criação do pedido de Admin. Anteriormente, o Adobe Commerce usava o nome do rótulo da visualização de loja padrão.
- As listas de produtos agora incluem corretamente produtos secundários de um produto indisponível quando o sinalizador global para exibição de produtos indisponíveis está ativado. Anteriormente, a lista de produtos não incluía o produto filho se uma das várias opções de produto filho estivesse indisponível quando esse sinalizador era ativado.
- Agora você pode usar o
addConfigurableProductsToCart
mutação para adicionar um produto configurável ao carrinho em uma visualização de loja não padrão. Anteriormente, não era possível adicionar um produto configurável ao carrinho quando a ID do site e a ID da loja eram diferentes. GitHub-30948
- GraphQL
products
as consultas não retornam mais dados sobre os produtos secundários desativados dos produtos configuráveis.
- A criação de novas configurações para um produto configurável não anula as alterações nas configurações existentes. Anteriormente, o status das variações existentes era substituído pelo status padrão
enabled
após a geração de novas variações.
- O Adobe Commerce não lança mais um erro interno quando você tenta adicionar um filho desativado de um produto configurável ao carrinho.
Cliente
- A Adobe Commerce agora considera o escopo do site para localidades de administrador durante a criação do pedido. Anteriormente, os detalhes do pedido, como atributos de endereço do cliente, funcionavam corretamente em um site somente em uma implantação de vários sites. GitHub-23254
Segmento do cliente
- A contagem de Clientes correspondentes para um novo segmento de cliente agora é atualizada automaticamente quando você cria uma conta de empresa. Anteriormente, era necessário atualizar os dados do segmento para obter uma contagem precisa.
- Os erros de validação de campo de email no pop-up de logon de check-out agora correspondem aos erros de validação de email na página de logon do cliente quando um cliente tenta fazer logon usando uma conta de email inválida.
- O Adobe Commerce não inclui mais uma mensagem de erro no email de detalhes da remessa quando um comentário de remessa é adicionado do administrador e do Notificar Cliente está ativada. Anteriormente, os emails de confirmação de remessa incluíam esta mensagem:
We're sorry, an error has occurred while generating this content
.
- Os valores de ID de região e país agora são convertidos corretamente em modelos de email. Anteriormente, ao clicar em Visualizar link no modelo de email do Administrador, o país e o nome da região não eram exibidos corretamente.
- Os emails de atualização de vendas enviados do Administrador para exibições de loja fora do padrão agora contêm rótulos de status de pedido corretos. Anteriormente, esses emails sempre exibiam o status do armazenamento padrão. GitHub-29263
- O Adobe Commerce agora inclui
Content-Disposition: inline
cabeçalhos no email conforme esperado. GitHub-29258
- Emails de notificação de pedidos e remessas agora funcionam como esperado em implantações usando o Microsoft Outlook e o MS Exchange Server. Anteriormente, o corpo do email estava vazio, mas continha um anexo rotulado como ATT*. GitHub-25076
- Os emails de pedidos agora contêm dados localizados usando a localidade do comprador, conforme esperado. Anteriormente, os emails de pedido usavam a localidade do Admin.
- Clicar na pré-visualização de qualquer modelo de email agora abre a pré-visualização do modelo em uma janela separada, conforme esperado. Anteriormente, o Adobe Commerce abria a pré-visualização do modelo simultaneamente a partir da grade Modelos de email e em uma janela pop-up.
- Os emails de pedido assíncrono enviados de um site não padrão agora incluem URLs de logotipo do site apropriado. Anteriormente, esses emails sempre incluíam logotipos do site padrão ou principal. (Uma chave padrão com um
storeCode
foi atribuído ao segundo argumento de matriz que é passado para a variávelUrlInterface
getUrl
função. Esse valor distingue URLs em relação a diferentes lojas/sites e gera um URL corretobaseUrl
para o conteúdo de email enviado ao cliente.)
Estruturas
- As comparações não estritas entre números e cadeias de caracteres não numéricas agora funcionam convertendo o número em cadeia de caracteres e comparando as cadeias de caracteres. As comparações entre números e cadeias de caracteres numéricas continuam a funcionar como antes. Isso significa que
0 == "not-a-number"
agora é considerado falso. GitHub-33780
- O auxiliar
Magento\Payment\Helper\Data
O não cria mais novos layouts em construtores. Anteriormente, quando esse auxiliar era usado em comandos personalizados sem especificar um código de área, o Adobe Commerce emitia um erro. GitHub-33908
- Atualização do
allure-framework/allure-php-api
Dependência do compositor.
- O Adobe Commerce agora retorna um código de resposta 500 quando ocorre uma exceção no arquivo de inicialização. Anteriormente, o Adobe Commerce retornava um código de status 200 OK. GitHub-22196
- O símbolo de moeda agora é carregado conforme esperado nas páginas de detalhes do produto da loja. Anteriormente, esse símbolo às vezes desaparecia depois que a página JavaScript era recarregada.
- Atualizando
symfony/console
não causa mais uma falha durante a execuçãobin/magento setup:di:compile
. GitHub-33595
- Novas opções necessárias foram adicionadas à
.htaccess
enginx.conf
arquivos que são distribuídos com o Adobe Commerce para suporte ao PHP 8.x. As opções desatualizadas também foram removidas. GitHub-34358
- Os comerciantes agora podem fazer upload de um vídeo para vários produtos. O processo de geração de arquivo agora anexa uma extensão ao nome do arquivo somente se o nome do arquivo carregado incluir uma extensão. Anteriormente, quando um comerciante tentava fazer upload e salvar o mesmo vídeo para dois produtos diferentes, o Adobe Commerce exibia este erro:
Notice: Undefined index: extension in /app/7ha7zds7wvqys_stg/vendor/magento/framework/File/Uploader.php on line 699
. Isso ocorreu porque o Adobe Commerce tentou anexar uma extensão de arquivo ao nome independentemente de o nome do arquivo carregado ter uma extensão.
- Problemas corrigidos com o
sprintf(__())
esprintf(Magento\Framework\Phrase())
construção para compatibilidade com o PHP 8.x em toda a base de código. Anteriormente, o Adobe Commerce exibia esse tipo de erro:Expected parameter of type 'string', 'Magento\Framework\Phrase' provided
. GitHub-34085
- Validação dos parâmetros de consulta de pesquisa avançada aprimorada. GitHub-33589
- Execução
bin/magento support:backup:code
O agora cria um backup conforme esperado. Anteriormente, o Adobe Commerce criava um backup, mas emitia um erro.
- Executado com sucesso
cron
Os processos do agora recebem um status desuccess
. Anteriormente, o mesmocron
o processo pôde ser executado duas vezes porquecron
processos foram atribuídos a umpending
status.
- A variável
staging_synchronize_entities_period
cron
O trabalho agora funciona conforme esperado. Anteriormente, a primeira atualização de preparo era aplicada com êxito, mas o Adobe Commerce exibia esse erro com atualizações subsequentes:report.ERROR: Cron Job staging_synchronize_entities_period has an error: The active update can't be deleted
.
- A variável
Magento_Logging
O módulo agora é compatível com IPv6.
Correções gerais
- O Adobe Commerce agora copia todos os campos de produto de acordo com seus escopos definidos ao duplicar um produto. Anteriormente, a variável name e descrição os campos foram redefinidos como
global
âmbito de aplicação.
- A Adobe Commerce não aplica mais o arredondamento delta a um desconto quando o preço do produto é 0. Anteriormente, o Adobe Commerce calculava um valor de desconto negativo.
- Produtos com um Definir como novo o atributo atribuído a uma data de início vazia e uma data de término expirada agora pode ser salvo com sucesso. Anteriormente, o Adobe Commerce exibia esse erro quando você salvava um produto com estas configurações:
Make sure the To Date is later than or the same as the From Date
.
- O Adobe Commerce não duplica mais uma página CMS existente na hierarquia do CMS quando você altera seu identificador de URL de SEO. Anteriormente, o Adobe Commerce criava um novo nó na hierarquia do CMS, duplicando um nó existente.
- Os administradores agora podem repetir operações que foram executadas durante o tempo máximo de processamento. O máximo padrão é de 12 horas.
- Os erros de pipe quebrados não ocorrem mais durante o processamento de ação em massa devido a mensagens não reconhecidas para o consumidor. Uma propriedade de contagem de pré-busca agora limita essas mensagens para o consumidor e evita erros. Anteriormente, a execução
bin/magento queue:consumers:start async.operations.all
gerou este erro:Broken pipe or closed connection
.
- Os compradores agora são redirecionados de volta para a página de logon, conforme esperado após uma segunda tentativa de logon sem êxito. Anteriormente, os compradores eram redirecionados para uma página 404 após uma segunda tentativa de logon malsucedida. GitHub-32885
- A validade do token de redefinição de senha foi estendida para evitar a ocorrência de uma condição de corrida durante o envio da página de alteração de senha. GitHub-29647
- As permissões atribuídas a novas integrações agora são respeitadas. GitHub-33347
- Correção do problema de regressão que afetava as mensagens deixadas nos logs de exceção do formulário Fale Conosco. GitHub-34483
- Solução de vários problemas com o carregamento JavaScript de dados do cliente. GitHub-30498
- Usar
QuoteIdToMaskedQuoteId
em uma extensão não aumenta mais significativamente o tempo de resposta. GitHub-33676
- A classe
BundleDiscountPrice
inmagento2/app/code/Magento/Bundle/Pricing/Price/ConfiguredPrice.php
agora é declarado conforme esperado. Anteriormente, o Adobe Commerce exibia este erro:Class Magento\Bundle\Pricing\Price\BundleDiscountPrice not found
. GitHub-33334
- Os valores de campo CSV de escape gravados pelo adaptador AWS S3 agora correspondem aos dados gravados por outros adaptadores do sistema de arquivos.
- O armazenamento compatível com S3 agora é compatível. GitHub-32114
- Fazer logout de um dispositivo não faz mais logout automático do comprador de outros dispositivos.
- O Adobe Commerce agora salva com sucesso uma página CMS ao editá-la em linha na grade no nível de visualização de loja quando a variável Usar a hierarquia do nó principal a definição de configuração está desativada. Anteriormente, o Adobe Commerce exibia esse erro e não salvava as edições de página do CMS:
A technical problem with the server created an error. Try again to continue what you were doing. If the problem persists, try again later
.
- As navegações estruturais agora são exibidas corretamente para nós que contêm a mesma página. Anteriormente, o Adobe Commerce exibia o mesmo nome de nó para páginas que pertenciam a vários nós. O Adobe Commerce recuperou apenas o primeiro nó de uma página, mesmo quando havia mais de um nó para cada página.
- Agora, os eventos de edição em linha de regravação de URL são relatórios conectados.
- A variável
mage-messages
o cookie não é redefinido se não houver novas mensagens.
Cartões-presente
- Adicionada uma mensagem de erro mais informativa quando um comprador insere um vale-presente inválido.
GraphQL
- A variável
generateCustomerToken
erevokeCustomerToken
As mutações agora fornecem a ID de cache correta para o estado do usuário. Anteriormente, essas mutações usavam umax-magento-cache-id
, que prejudicou o desempenho.
- A variável
setBillingAddressToCart
A mutação agora usa corretamente a variávelsame_as_shipping
para definir o endereço de cobrança que corresponda ao endereço de entrega conforme esperado. Anteriormente, o Adobe Commerce exibia este erro:The shipping method is missing. Select the shipping method and try again
. GitHub-30924
- As operações de carrinho do GraphQL agora calculam os totais gerais do carrinho somente quando a consulta o solicita. Anteriormente, as operações do carrinho sempre calculavam o total geral, que é uma operação que consome muitos recursos.
- A variável
addProductsToCart
o mutation agora adiciona ao carrinho somente produtos atribuídos à loja definida no cabeçalho.
products
as consultas que usam filtros de navegação em camadas agora retornam listas de categorias secundárias corretas. GitHub-33387
- Consultas e mutações que retornam o
ConfigurableCartItem
objeto contém informações sobre variantes configuradas conforme esperado.
- A variável
products
o query agora retorna valores de opção de produto de configuração e valores de atributo de variante. Anteriormente, esses valores estavam vazios nas respostas da consulta.
- A variável
products
o query agora filtra os produtos agrupados corretamente quando os produtos derivados são desativados no nível da visualização de loja. Anteriormente, a consulta retornava produtos secundários que estavam desabilitados no nível da visualização de loja.
- O GraphQL agora fornece à New Relic nomes de transação descritivos, que podem ser úteis para depuração. GitHub-30915
- A variável
setShippingAddressesOnCart
Agora, o mutation permite definir endereços de envio em um carrinho de compras com um valor de número de telefone vazio quando a variável Mostrar telefone A definição da configuração do administrador é opcional. Anteriormente, o Adobe Commerce exibia este erro:Field CartAddressInput.telephone of required type String! was not provided
.
- Correção de um problema em que a variável
addSimpleProductsToCart
a mutação permitia adicionar produtos simples a um carrinho que não eram atribuídos ao site de destino.
- As consultas MySQL foram otimizadas para o GraphQL
products
consultas que usam parâmetros de pesquisa para refinar os resultados da pesquisa.
- A variável
addConfigurableProductToCart
a mutação não é mais compatível com a adição de um produto a um carrinho se o produto não estiver incluído no escopo solicitado.
- A variável
products
o query agora retorna somente variantes configuráveis que são atribuídas à loja solicitada. Anteriormente, todas as variantes do produto configurável solicitado eram retornadas.
addSimpleProductsToCart
As solicitações do agora podem ser executadas com sucesso em paralelo. Anteriormente, várias solicitações para o mesmo SKU criavam itens de linha duplicados para a mesma ID do carrinho, em vez de aumentar a quantidade do produto, conforme esperado.
- A variável
addProductsToCompareList
a mutação agora pode ser usada para comparar variantes de produtos configuráveis.
- Quando o preço de um produto de nível é atualizado no back-end, o novo preço é atualizado corretamente no carrinho do cliente. Anteriormente, embora o subtotal na seção de resumo do carrinho fosse atualizado corretamente, o subtotal da linha não era atualizado.
- A variável
addProductsToCart
o mutation agora adiciona todas as opções selecionadas ao carrinho quando usado para adicionar produtos de pacote com várias opções de seleção. Anteriormente, a mutação adicionava apenas a última seleção. GitHub-33123
- As consultas do GraphQL agora retornam o endereço de cobrança conforme esperado quando o valor de um campo de telefone opcional é definido como uma cadeia de caracteres vazia. Anteriormente, as consultas retornavam um valor de endereço nulo. GitHub-30218
- A variável
products
a resposta da consulta agora lista os produtos de acordo com a ordem de classificação especificada quando vários produtos têm a mesma relevância ou valor de preço.
- Simultâneo
addSimpleProductsToCart
eaddProductsToCart
as solicitações de não resultam mais em itens de cotação duplicados.
products
os filtros de navegação em camadas de query agora retornam as listas corretas de categorias secundárias. Apenas subcategorias diretas agora são incluídas quando a variávelincludeDirectChildrenOnly
O sinalizador é fornecido na solicitação. Anteriormente, todas as categorias eram incluídas na resposta da seção de agregação quando um produto era atribuído a várias categorias.
- Adição da funcionalidade de sugestão de pesquisa para consultas de pesquisa do GraphQL.
- A variável
OrderAddress.telephone
agora é opcional na variávelcustomer
consulta ou outras consultas e mutações que retornam ou modificam endereços de pedido do cliente.
- Os preços agora são atualizados corretamente para clientes em um grupo especificado na loja e no Administrador quando uma ID de grupo é alterada por meio da API. Anteriormente, esses preços não eram atualizados corretamente quando uma ID de grupo era alterada por meio da API.
Imagem
- Imagens de marca d'água com planos de fundo transparentes não têm mais um plano de fundo branco na imagem transparente do produto que é sobreposta. Anteriormente, quando a imagem da marca d'água e a imagem do produto tinham um plano de fundo transparente, a marca d'água era exibida com um plano de fundo branco.
- Os logotipos para faturas e recibos de remessa agora são carregados e exibidos conforme esperado quando o AWS S3 é ativado.
- A tag de mídia associada a uma imagem adicionada a uma página do CMS em uma implantação em que o Administrador é definido como um domínio diferente do URL de armazenamento agora contém URLs de armazenamento, conforme esperado. Anteriormente, as tags de mídia continham URLs de administrador estáticos em vez dos URLs de armazenamento esperados. GitHub-32930
- O Adobe Commerce não emite mais um erro ao liberar o cache de imagens enquanto carrega imagens simultaneamente na loja.
Importar/exportar
bin/magento remote-storage:sync
O não falhará mais quando os nomes de arquivo forem semelhantes, mas diferirem em apenas um ou dois caracteres. Anteriormente, a primeira imagem era armazenada corretamente, mas a segunda, com nome semelhante, acionava uma falha de sincronização e este erro:Notice: Undefined index: media/catalog/product/5/_ in /src/vendor/magento/module-remote-storage/Driver/Adapter/Cache/Generic.php on line 197
. GitHub-34337
- O Adobe Commerce agora converte o carimbo de data e hora no nome do arquivo de exportação para o fuso horário do usuário após uma exportação programada. Anteriormente, esses valores não eram convertidos e o Adobe Commerce exibia o carimbo de data e hora UTC.
- O Adobe Commerce não cria mais imagens duplicadas no armazenamento remoto quando o mesmo arquivo CSV é importado mais de uma vez.
- A importação não falhará mais com esta mensagem:
Import failed: Area code not set: Area code must be set before starting a session
. GitHub-16171
- Agora é possível importar com sucesso após a execução do
bin/magento app:config:dump
e edição manualconfig.php
. GitHub-31428
- Separadores de vários valores não padrão agora podem ser usados em atributos de seleção múltipla personalizados. Anteriormente, a validação falhava durante a importação. GitHub-23156
- A posição do produto em categorias agora é atribuída corretamente durante a importação do CSV.
Índice
- O Adobe Commerce agora exibe produtos conforme esperado na loja após a reindexação. Anteriormente, quando os primeiros 500 produtos que estavam sendo reindexados estavam em estoque e os próximos 500 produtos estavam esgotados, a loja não exibia nenhum produto adicional.
- Problemas de consistência resolvidos no mesclado
indexer.xml
arquivos. Os valores permitidos emclassType
agora são os mesmos em não mesclados e mescladosindexer.xml
arquivos. GitHub-29609
- Um mecanismo de sincronização foi implementado em indexadores de categoria para impedir que indexadores completos e parciais sejam executados em paralelo. Anteriormente, quando esses indexadores eram executados em paralelo, os produtos podiam ser omitidos temporariamente das páginas de categoria da loja ou as páginas de categoria podiam estar temporariamente vazias de produtos.
Infraestrutura
- O não suportado
str_contains
foi substituído por uma função compatível. Esse era um problema conhecido do Adobe Commerce 2.4.3. GitHub-33680
-
Refatoração da base de código para corrigir o uso da palavra-chave
match
, que é uma palavra-chave reservada no PHP 8.x. GitHub-33626 -
As tags HTML agora estão aninhadas e fechadas corretamente para atender aos padrões na JQuery 3.5.x para elementos não nulos, incluindo elementos personalizados.
- Fixo
abs()
eround()
funções para compatibilidade com PHP7.x e PHP8.x. GitHub-34322
- Atualizando
symfony/console
não causa mais falha ao executarbin/magento setup:di:compile
. GitHub-33595
- Correção da restrição para o
colinmollenhour/cache-backend-redis
Dependência do compositor. GitHub-34177
- A base de código foi refatorada para remover chamadas para métodos obsoletos de
phpunit/phpunit
. GitHub-33916
- O Adobe Commerce agora exibe um erro informativo quando um administrador com uma função somente leitura
pubs/media
O tenta acessar a página de detalhes do produto de um produto que inclui imagens. Anteriormente, o Adobe Commerce exibia um erro de PHP. GitHub-32819
- Todos no nível de membro
@api
as anotações foram movidas para sua classe em toda a base de código.
gift-card Cms
os dados do widget foram movidos deMagento/WidgetSampleData
(Magento Open Source) paraMagento/GiftCardSampleData
(Adobe Commerce) Isso resolveu problemas de instalação (Magento Open Source) com dados de amostra no PHP8.1.
- Interfaces marcadas em toda a base de código de integração do Adobe Stock com
@api
conforme necessário. GitHub-32875
- Inteiros e floats em conjuntos de resultados agora são retornados usando tipos PHP nativos em vez de strings ao usar instruções preparadas emuladas. GitHub-34625
- A criação automática de arrays a partir de valores falsos foi desabilitada para garantir compatibilidade com o PHP 8.1.
- O auxiliar
Magento\Payment\Helper\Data
O não cria mais novos layouts em construtores. Anteriormente, quando esse auxiliar era usado em comandos personalizados sem especificar um código de área, o Adobe Commerce emitia um erro. GitHub-33908
- Agora você pode passar um
data
argumento para um construtor de instância de bloco pordi.xml
.
- Otimizado
Generator.php
para facilitar a leitura. GitHub-33809
- Melhoria na verificação de JWK no
JwsManager
classe para lidar com situações em que o algoritmo é definido diretamente no cabeçalho. Anteriormente, essa verificação ignorava esse cenário válido. GitHub-32636
Atualizações para compatibilidade com o PHP 8.1
-
Funções que foram descontinuadas no PHP 8.1 foram removidas da base de código. GitHub-34497
-
Inclusão de declarações de tipo de retorno a métodos internos com tipos de retorno incompletos para compatibilidade com o PHP 8.1. GitHub-34498
-
Atualização da raiz
composer.json
metapackage ecomposer.json
arquivo para cada módulo do PHP 8.1. GitHub-34009 -
Terceiros
jquery.tabs
biblioteca (versão mais recente) -
Pacotes NPM (versão mais recente) GitHub-33512, GitHub-33972
-
jquery.cookie
biblioteca de terceiros (versão mais recente) GitHub-34427
Atualizações de dependência do Composer
-
Todas as dependências do Composer foram atualizadas para as versões compatíveis com o PHP 8.1.
-
O PHPUnit foi atualizado para a versão mais recente (9.5.x). Os testes e estruturas de teste foram atualizados para serem compatíveis com a nova versão.
Atualizações de dependência do JavaScript
jquery-validate
biblioteca de terceiros GitHub-33853
Less.js
(v3.13.1) GitHub-32845
Remoções e descontinuações da biblioteca
-
As bibliotecas a seguir foram removidas porque todos os navegadores compatíveis com o Adobe Commerce 2.4.x têm suporte incorporado para essa funcionalidade:
es6-collections.js
MutationObserver.js
Modernizr
FormData.js
-
Remoção dos não utilizados
jquery.hoverIntent
Biblioteca JavaScript. GitHub-33732 -
lib/internal/Magento/Framework/Filter/Money.php
foi descontinuado. Contém amoney_format()
que foi removida no PHP 8.x. GitHub-33870 -
Remoção do obsoleto, incompatível
grunt-autoprefixer
pacote. GitHub-34037
Atualizações de biblioteca
-
As seguintes bibliotecas foram atualizadas para versões mais recentes:
script.aculo.us
Chart.js
moment.js
moment-timezone-with-data.js
matchMedia.js
underscore.js
PrototypeJS
RequireJS
LessCSS
Fatura
- Projeção para
int
foi removido para IDs de fatura incrementadas automaticamente quando prefixado com uma string. Como resultado, as faturas agora exibem um 0 para números que recebem o prefixo de uma string. GitHub-34451
Logs
- O Adobe Commerce não cria mais entradas de log para chamadas de API com falha que executam ações em massa no Sistema > Ações em massa. Anteriormente, entradas permanentes para chamadas de API com falha eram adicionadas ao log de ação em massa.
- A criação automática de matrizes de valores falsos não é mais permitida. GitHub-34499, GitHub-34589
Adobe Commerce coding standard
- Atualizado
phpunit/ phpunit
para a versão mais recente damagento-coding-standard
repositório. GitHub-33622
- Atualização do
webonyx/graphql-php
dependência da versão ^14.9 no repositório padrão de codificação do Adobe Commerce. GitHub-32863
- Adição de novo sniff
Magento2.PHP.ArrayAutovivification
ao padrão de codificação Adobe Commerce para identificar a criação automática de matrizes a partir de um valor falso. GitHub-34509
- Adição de novo sniff
Magento2.Functions.DeprecatedFunction
para o padrão de codificação Adobe Commerce. GitHub-34547
- Adição de funções obsoletas ao sniff
Magento2.Functions.DiscouragedFunction
no padrão de codificação Adobe Commerce. GitHub-34548
- A variável
Magento2.Annotation.MethodAnnotationStructure
o sniff não falha mais com um falso positivo. GitHub-34679
Galeria de mídia
- A variável
bin/magento media-gallery:sync
não falhará mais nas implantações em que o AWS S3 está habilitado.
- Os títulos do submenu Conteúdo da Galeria de mídia adicionados recentemente agora são exibidos quando os itens de menu excedem 11 e o Habilitar a Galeria de Mídia Antiga definição de configuração está habilitada. GitHub-33889
- O tempo de carregamento da guia Galeria de mídia ao editar um produto com muitas imagens melhorou. GitHub-33434
MFTF
-
CURLOPT_POSTFIELDS
não aceita mais objetos como matrizes. Para interpretar um objeto como uma matriz, execute um comando explícito (array
) elenco. Essa prática também se aplica a outras opções que aceitam arrays. GitHub-33781 -
curl_init()
agora retorna umCurlHandle
em vez de um recurso. A variávelcurl_close()
não tem mais efeito. Em vez disso, a variávelCurlHandle
é automaticamente destruída se não for mais referenciada. GitHub-33781
- Correção de erros em testes MFTF para produtos baixáveis. GitHub-34270
- Removido
CliCacheFlushActionGroup
deCatalogSearch
,GroupedProduct
,Newsletter
,Paypal
,Quote
, eReview
módulos. GitHub-33531
- As comparações não estritas entre números e cadeias de caracteres não numéricas agora funcionam convertendo o número em cadeia de caracteres e comparando as cadeias de caracteres. As comparações entre números e cadeias de caracteres numéricas continuam a funcionar como antes. Isso significa que 0 == "não é um número" agora é considerado falso. GitHub-33780
parse_url()
O agora distingue entre consultas e fragmentos ausentes e vazios. GitHub-33782
- Atualização da base de código para evitar um erro fatal ao usar o
ReflectionType::isBuiltin()
método. GitHub-34194
Novos grupos de ação
AdminCheckOrderStatusInGridActionGroup
GitHub-33747
StorefrontSelectFirstShippingMethodActionGroup
GitHub-33773
AdminClickUpdateChangesOnCreateOrderPageActionGroup
GitHub-33689
Grupos de ação
As ações repetitivas foram substituídas por grupos de ação nestes testes:
AdminAddInStockProductToTheCartTest
GitHub-34512
AdminAddBundleItemsTest
GitHub-34312
AdminConfigurableProductAddConfigurationTest
GitHub-34511
AdminConfigurableProductBulkUpdateTest
GitHub-34435
AdminConfigurableProductDisableAnOptionTest
GitHub-34511
AdminConfigurableProductOutOfStockAndDeleteCombinationTest
GitHub-34316
AdminConfigurableProductOutOfStockTestDeleteChildrenTest
GitHub-34316
AdminConfigurableProductRemoveAnOptionTest
GitHub-34511
AdminConfigurableProductRemoveConfigurationTest
GitHub-34511
AdminCreateAndEditSimpleProductSettingsTest
GitHub-34435
AdminCreateAndEditVirtualProductSettingsTest
GitHub-34435
AdminCreateInactiveFlatCategoryTest
GitHub-34490
AdminCreateInactiveInMenuFlatCategoryTest
GitHub-34510
AdminCreateDuplicateCategoryTest
GitHub-34414
AdminCreateDuplicateProductTest
GitHub-34414
AdminDeleteSimpleProductTest
GitHub-33783
AdminEditRelatedBundleProductTest
GitHub-34313
AdminMassDeleteBundleProductsTest
GitHub-34313
AdminNavigateMultipleUpSellProductsTest
GitHub-34314
AdminSimpleProductSetEditContentTest
GitHub-34435
AdminSimpleProductTypeSwitchingToConfigurableProductTest
GitHub-33788
AdminConfigurableProductTypeSwitchingToVirtualProductTest
GitHub-33788
AdminCreateConfigurableProductWithDisabledChildrenProductsTest
GitHub-33775
AdminUpdateFlatCategoryAndAddProductsTest
GitHub-34490
AdminUpdateTopCategoryUrlWithNoRedirectTest
GitHub-33774
AdminUpdateTopCategoryUrlWithRedirectTest
GitHub-33774
CatalogProductListWidgetOperatorsTest
GitHub-34579
CreateProductAttributeEntityWithReservedKeysTest
GitHub-34422
EnableDisableBundleProductStatusTest
GitHub-34313
StorefrontCheckRefundGrandTotalActionGroup
GitHub-34315
StorefrontInactiveCatalogRuleTest
GitHub-33556
StorefrontConfigurableProductCantAddToCartTest
GitHub-33786
StorefrontConfigurableProductOptionsTest
GitHub-33785
StorefrontConfigurableProductCanAddToCartTest
GitHub-33784
StorefrontConfigurableProductGridViewTest
GitHub-34311
StorefrontConfigurableProductListViewTest
GitHub-34311
StorefrontProductNameWithHTMLEntitiesTest
GitHub-33806
StorefrontProductNameWithDoubleQuoteTest
GitHub-32991
Novos testes
AdminCreateOrderWithCheckedAppendCommentCheckboxTest
GitHub-32381
CheckoutWithEnabledCaptchaTest
GitHub-32991
StorefrontAddProductWithBackordersAllowedOnProductLevelToCartTest
GitHub-33635
StorefrontGiftMessageForOrderOnCheckoutCartPageTest
GitHub-32821
StorefrontCaptchaCheckoutWithEnabledCaptchaTest
GitHub-32821
StorefrontCheckoutWithEnabledMinimumOrderAmountOptionTest
GitHub-33460
Testes refatorados
CaptchaWithDisabledGuestCheckoutTest
GitHub-30828
Boletins informativos
- Os usuários com as permissões apropriadas agora podem gerenciar assinaturas de boletins informativos do cliente conforme esperado. Anteriormente, somente administradores com permissões totais podiam gerenciar assinaturas de boletins informativos de clientes na página Conta de administrador do cliente.
Pedido
- Os compradores agora podem reordenar com êxito um pedido existente que contém um produto com a combinação de opções personalizadas de arquivo de tipo e lista suspensa de tipos da loja e do Administrador. Anteriormente, o Adobe Commerce emitia um erro e não processava o reordenamento.
- As faturas de pedidos pagos por crédito de armazenamento e que têm impostos fixos sobre o produto (FPT) aplicados agora incluem o total geral correto.
- A página de detalhes do pedido do administrador agora é carregada conforme esperado. Anteriormente, o Adobe Commerce exibia o seguinte erro ao carregar a página de detalhes do pedido para pedidos com determinados impostos:
Call to a member function getId() on array
.
- Os administradores com permissões restritas que incluem privilégios de pedido e envio agora podem exibir a página de pedido conforme esperado. Anteriormente, o Adobe Commerce emitia um erro quando um administrador com essas permissões tentava visualizar um pedido. GitHub-14633
- Os compradores agora podem fazer um pedido que inclui um produto configurável secundário quando um limite de quantidade máxima permitida é definido.
Métodos de pagamento
- Os compradores agora podem usar o Braintree para fazer um pedido usando um endereço de faturamento sem uma região definida nas implantações com 3DS ativado. Anteriormente, o check-out congelava quando o comprador clicava Fazer pedido e a compra não pôde ser concluída. GitHub-34204
- A opção de pagamento Venmo agora é compatível.
- O PayPal agora pode rastrear por código BN.
bin/magento setup:upgrade
agora é executado conforme esperado ao atualizar do Adobe Commerce 2.4.2-p1. Anteriormente, o Adobe Commerce exibia este erro:Unable to apply data patch Magento\Paypal\Setup\Patch\Data\UpdateBmltoPayLater for module Magento_Paypal
. GitHub-33678
- A ID de armazenamento correta agora é usada para recuperar cartões de crédito salvos durante a inserção de pedidos de Admin. Os cartões de crédito armazenados agora são exibidos durante o posicionamento do pedido de acordo com a configuração do escopo do site. Anteriormente, quando um administrador tentava criar um pedido para um cliente do Administrador e selecionava o método Cartões de crédito armazenados, nenhuma opção estava disponível para cartões armazenados.
- Anomalias com a exibição de crédito do PayPal de valores de cartão-presente foram resolvidas. Anteriormente, quando o Crédito do PayPal era ativado e vários valores de cartão-presente eram configurados, se um comprador alterava o valor de um cartão-presente, a loja não atualizava o valor dos pagamentos parcelados. Esse foi um problema conhecido no Adobe Commerce 2.4.3.
PayPal
- O Adobe Commerce não exibe mais um erro durante o check-out com o método de pagamento PayPal Express. Anteriormente, embora o processo de finalização fosse concluído, o Adobe Commerce exibia este erro:
Something went wrong
.
- O PayPal Express agora funciona conforme esperado do carrinho de compras. Anteriormente, ao clicar no botão PayPal para iniciar o check-out expresso do carrinho, o Adobe Commerce emitiu este erro:
To check out, please sign in with your email address
. GitHub-33445
- O PayPal Payflow Pro agora realiza captura atrasada com IDs de transação principal corretas em implantações nas quais o gateway do PayPal Payflow Pro com Ação de pagamento está definida como Autorização. A Venda A transação é enviada para o Payflow com uma ID de transação principal do token de cofre criado no check-out conforme esperado. Anteriormente, uma Captura atrasada A transação foi criada e enviada para o Fluxo de Pagamento do PayPal. GitHub-33445
- Os compradores agora são redirecionados para a página de sucesso como esperado após o pagamento com o Pagamento antecipado do PayPal Payments é concluído. Anteriormente, os compradores não eram redirecionados para essa página mesmo que o pagamento fosse processado com êxito e nenhum erro fosse registrado.
Desempenho
- Adição de um índice a
magento_giftcardaccount.code
para melhorar o desempenho.
- O tempo de execução de carregamento da lista de módulos melhorou.
- O desempenho do cache de Termo de pesquisa popular melhorou. Anteriormente, quanto maior a
search_query
tabela, quanto mais tempo uma consulta de pesquisa levou para ser concluída. GitHub-27559
- O Adobe Commerce, por padrão, redimensiona imagens de forma síncrona durante o salvamento do produto. Os comerciantes agora podem redimensionar imagens como um processo assíncrono em segundo plano por pequenas edições em um
di.xml
arquivo.
- O desempenho do indexador de Produtos de Categoria foi aprimorado em implantações de várias lojas. GitHub-33984
- O novo cache em memória para
glob()
chamadas do sistema melhora o desempenho reduzindo o número deglob()
chamadas. GitHub-34025
- O desempenho do processo de reindexação da grade de ordem assíncrona foi aprimorado.
- O consumo de memória durante a exportação do produto foi otimizado.
- O carregamento das páginas de detalhes do produto com produtos relacionados foi otimizado. As consultas de condições de produto relacionadas também foram otimizadas.
Preços
- A classificação de preço agora funciona conforme esperado quando os preços do produto estão próximos ou iguais a zero e os catálogos compartilhados estão habilitados. Anteriormente, os preços de nível zero eram ignorados durante a reindexação de preço.
- O Adobe Commerce não lança mais um erro se o filtro de preço na página Categoria não contiver um segundo valor. Anteriormente, o Adobe Commerce lançava uma exceção no arquivo de log.
AlertaProduto
- O novo
product_alert
O consumidor melhora o envio de alertas do cliente criando mensagens de fila, executando o consumidor e melhorando o tempo de execução. Anteriormente, o Adobe Commerce lançava uma exceção de falta de memória ao enviar mais de 100.000 alertas de produto. O Adobe Commerce também levou mais de 20 horas para enviar todos os alertas.
Vídeo do produto
- O Adobe Commerce agora ativa o Salvar e preenche automaticamente os campos ao inserir um URL incompleto ao adicionar um vídeo (Administrador Catálogo > Produtos > Adicionar vídeo). Anteriormente, a variável Salvar O botão foi desativado e os campos não foram preenchidos.
Autorizações de devolução de produto (RMA)
- A grade Criar Produto de Devolução do Administrador agora exibe imposto, incluindo preços somente para produtos configurados para exibir imposto com preços. Anteriormente, o Adobe Commerce não verificava as configurações de exibição no
tax/calculation/price_includes_tax
sinalizador.
Resenhas
- A exibição da lista de produtos agora exibe a classificação com estrelas correta para os produtos. GitHub-30196
- As análises agora ficam visíveis conforme esperado quando um comprador clica em Revisão na página de produto da loja.
- A classificação de estrelas do produto agora é consistente nas exibições de Grade e Lista na página de lista de produtos da loja. Anteriormente, o mesmo produto podia ter classificações diferentes nos modos de exibição Grade e Lista.
Recompensas
- Saldo de Pontos de Recompensa e Histórico de Pontos de Recompensa agora exibem o mesmo saldo. Os pontos expirados agora são deduzidos corretamente. Anteriormente, o Saldo de pontos de premiação não refletia com precisão os pontos expirados.
- Os pontos de premiação expirados agora são marcados como Expirado na seção Motivo da grade Histórico de pontos de premiação da loja.
Vendas
- O desempenho das atualizações de grade de vendas no modo assíncrono para tabelas com grandes conjuntos de dados após a atualização para MariaDB 10.2.34 foi aprimorado.
- A Adobe Commerce agora remove as tags HTML conforme esperado da loja Conta > Meus Pedidos > Exibir pedido página. Anteriormente, o Adobe Commerce exibia as tags HTML na seção de comentário de ordem do cliente da loja.
- Cobertura de teste automatizada para verificar a existência de um índice para
sales_shipment_grid.order_id
foi adicionado.
POST V1/orders
As chamadas do agora atualizam os atributos de extensão sem erro. Anteriormente, ocorria um erro de sintaxe SQL.
Pesquisar search-heading
- As opções de Navegação em camadas para o intervalo de preços agora funcionam como esperado com atributos de preço personalizados. O Adobe Commerce usa a configuração da etapa de navegação de preço ao filtrar atributos de preço personalizados. Anteriormente, o Adobe Commerce usava a configuração de etapa manual.
- A loja agora mostra todas as subcategorias da categoria atual na navegação em camadas, independentemente do número de categorias disponíveis no catálogo.
- As pesquisas no catálogo de Elasticsearch agora não fazem distinção entre diacríticos. Anteriormente, as pesquisas por termos sem um acento resultavam em resultados diferentes das pesquisas no mesmo termo com um acento.
- Agora o peso da pesquisa está definido corretamente nos atributos SKU que contêm caracteres especiais.
category_name
foi adicionado aos códigos de atributo de produto reservados pelo sistema. O Adobe Commerce agora mostra um erro se um usuário tentar criar um atributo de produto com o código de atributocategory_name
. Anteriormente, os produtos não eram listados na categoria esperada e um erro de Elasticsearch era registrado.
- Termos de pesquisa populares atualizados após cada consulta de pesquisa do GraphQL.
- O Adobe Commerce agora adiciona os campos de preço corretos ao mapeamento do índice de preço Elasticsearch. Anteriormente, campos de preço incorretos eram adicionados ao índice com a ID da loja em vez da ID do site.
Envio
- O email de remessa agora inclui o número de rastreamento apenas para a remessa atual. Anteriormente, quando um pedido incluía várias remessas, cada email de remessa incluía os números de rastreamento de todas as remessas relacionadas ao pedido.
- A Adobe Commerce agora atualiza o minicarrinho com sucesso quando um comprador exclui um produto do carrinho no modo de vários envios e, em seguida, muda para um único endereço de envio. Anteriormente, os preços dos produtos não eram atualizados conforme esperado.
- A importação de taxas de tabela agora funciona conforme esperado ao usar o adaptador de armazenamento S3. Anteriormente, o Adobe Commerce exibia este erro:
File "https://[bucket].s3.eu-central-1.amazonaws.com/[prefix]/tmp/phpLjGmHf" not found
. GitHub-33072
- Agora você pode desativar os emails de atualização de remessa conforme esperado de Lojas > Configuração > Vendas > Emails de vendas. GitHub-33165
- O Adobe Commerce agora exibe o custo do frete gratuito (0) nos totais da página de fatura de Admin e da loja. Anteriormente, quando o envio era zero para um pedido, o Adobe Commerce não exibia o valor do envio nos totais no total de envio da página de fatura.
- As solicitações de tarifas para transportadoras de remessa online foram reduzidas de várias solicitações para uma. O seguro de pacote e o preço de manuseio por item/pacote agora são calculados corretamente. Anteriormente, o Adobe Commerce exibia taxas de envio incorretas para os métodos de envio do FedEx.
- A Adobe Commerce agora exibe taxas UPS ao criar etiquetas de remessa de Porto Rico. Anteriormente, o Adobe Commerce não exibia essas taxas de UPS.
- O endereço da entrega agora é completamente liberado, conforme esperado, após ser removido da caixa de entrada. Anteriormente, a caixa de texto retinha um ou mais caracteres após a exclusão do endereço.
Estágios
- As imagens e os vídeos de atualização programados do produto foram salvos corretamente. Anteriormente, vídeos, URLs, títulos e descrições eram removidos após a criação de uma nova atualização programada.
- O Adobe Commerce agora exibe o atributo de Preço mínimo anunciado no formulário Agendar nova atualização para as exibições de loja para as quais o atributo está ativado.
- O Adobe Commerce agora exibe apenas uma guia Imagens no formulário Atualização agendada do produto, conforme esperado. Anteriormente, o Adobe Commerce duplicava essa guia.
- O status do estoque do produto agora é exibido corretamente nas visualizações de Atualização de agendamento. Anteriormente, o status do produto era exibido como indisponível quando um produto anteriormente desabilitado era habilitado durante a criação da Atualização da programação.
Loja
- O recurso Fazer logon como cliente agora funciona conforme esperado em implantações que contêm várias lojas em URLs diferentes. Anteriormente, o Adobe Commerce não carregava o armazenamento correto, mesmo ao acessar o domínio de armazenamento correto.
Ferramenta de análise do site
- Os comerciantes agora podem acessar a Ferramenta de análise do site conforme esperado. Anteriormente, pares de chaves quebrados impediam alguns comerciantes de acessar a ferramenta.
Imposto
- Agora, a Adobe Commerce calcula corretamente o subtotal do minicarrinho quando um cliente exclui um item após selecionar delivery para vários endereços.
- O Adobe Commerce agora mostra a mesma alíquota de imposto em todas as páginas de check-out quando o carrinho de compras contém apenas produtos virtuais.
- Os preços de nível dos produtos configuráveis agora exibem valores precisos de impostos incluídos e excluídos na loja. Anteriormente, os mesmos valores eram exibidos para impostos incluídos e excluídos. GitHub-33673
Teste
- Os testes de WebAPI agora são compatíveis com o PHP 8.1. GitHub-34653
- Os testes de integração são compatíveis com o PHP 8.1. GitHub-34567, GitHub-34569
- Os comerciantes agora podem testar a experiência do comprador no país em que ele está localizado, em vez da localização do comerciante.
- O consumo de memória de teste de integração foi reduzido, o que melhora o desempenho do teste e reduz o tempo necessário para a conclusão do teste.
- Adição de um teste para verificar o formato de atributo de data personalizado para vitrine e administração.
- Erros corrigidos com
StorefrontPOWorkflowVerifyApprovalFlowTabTest
. GitHub-34378
- Testes funcionais foram estabilizados para compatibilidade com o PHP 8.x. GitHub-34327, GitHub-34188
- Correção de problemas funcionais em testes de WebAPI. GitHub-34196
- Correção de erros que resultavam em testes estáticos falsos positivos. GitHub-34056
- A cobertura de teste foi atualizada para
call_user_func_array
. GitHub-34301
- A variável
Magento\GraphQl\CatalogGraphQl\ProductSearchTest
o teste não lança mais este erro quando executado com o AWS Elasticsearch:Magento\GraphQl\CatalogGraphQl\ProductSearchTest::testSearchSuggestions Failed asserting that an array is not empty. /var/www/html/dev/tests/api-functional/testsuite/Magento/GraphQl/CatalogGraphQl/ProductSearchTest.php:94 /var/www/html/dev/tests/api-functional/framework/Magento/TestFramework/TestCase/GraphQlAbstract.php:257
.
-
Correção de vários avisos de teste de unidade não críticos, renomeando todas as variáveis de modelo para incluir a variável
Mock
sufixo e remoção de referências a uma classe obsoleta do Gerenciador de objetos. GitHub-33695 -
A variável
Magento\Framework\MessageQueue\TopologyTest
O teste agora é compatível com o AWS MQ para RabbitMQ serviço. Anteriormente, esse teste falhava com esta mensagem:Invalid exchange configuration: magento-topic-based-exchange1 Failed asserting that two arrays are equal
.
- Testes de unidade são agora compatíveis com o PHP 8.1. GitHub-34441
Testes de unidade
Os testes de unidade a seguir foram refatorados para uso PHPUnit
em vez de AspectMock
:
AllureHelperTest
GitHub-33294
ObjectHandlerUtil
GitHub-33584
MockModuleResolverBuilder
GitHub-33583
MagentoTestCase
GitHub-33582
ModuleResolverTest
GitHub-33308
ParallelGroupSorterTest
GitHub-33306
SuiteGeneratorTest
GitHub-33299
OperationDataArrayResolverTest
GitHub-33296
Tema
- As mensagens de notificação agora são exibidas corretamente quando o Adobe Commerce tem um subcaminho configurado em seu URL base.
- Adição de um
aria-label
elemento para o modelo de página de vitrine para indicar a página para a qual o comprador navegará ao clicar em um link. Anteriormente, o mesmo texto de link era usado para links para páginas diferentes. GitHub-33075
- O Adobe Commerce não exibe mais uma mensagem de erro ao carregar a página inicial de uma loja com tema personalizado pré-existente. Anteriormente, o Adobe Commerce exibia esta mensagem:
The store will not work correctly in the case when cookies are disabled
.
Traduções e códigos de idiomas
- A variável
UserExpiration
o validador não falha mais comde_DE
euk_UA
localidades. Anteriormente, o Adobe Commerce emitia um erro quando um administrador tentava definir uma data de expiração ao criar um novo usuário a partir do Administrador com localidades definidas comode_DE
ouuk_UA
. GitHub-32497
- Os nomes das regiões da Suíça agora são apresentados de forma consistente em inglês nos formulários de criação ou edição de endereço. GitHub-32602
- Atualizado
zip_codes.xml
padrões para Guernsey para suportar códigos postais GY10 para a Ilha de Sark. GitHub-33144
- Adicionou as regiões da Bielorrússia à
directory_country_region
tabela. GitHub-33924
- Anomalias de exibição com vitrines que executam localidades filipinas (Filipinas) foram resolvidas. GitHub-33996
- Agora é possível inserir com êxito uma data de nascimento do cliente ao criar uma nova conta em lojas definidas para um local em Português (Portugal). Anteriormente, o Adobe Commerce emitia um erro ao tentar criar uma conta. GitHub-34130
- A página de detalhes do produto agora é exibida com sucesso com o código de idioma árabe (Arábia Saudita). Anteriormente, esse local quebrava a página de detalhes do produto.
IU
- Correção de erros com testes MFTF que usam
maps.googleapis.com
.
- O Adobe Commerce agora elimina os caracteres de espaço não separáveis do campo de entrada de email do formulário Fale conosco. Anteriormente, o formulário era enviado sem remover os caracteres de espaço sem quebra da entrada de email (se fornecida), o que causava erros nos arquivos de log. A variável Responder para o campo também estava ausente da mensagem de email de contato gerada para o administrador de armazenamento.
- O Adobe Commerce agora exibe produtos relacionados, produtos de venda adicional e produtos de venda cruzada de acordo com suas posições no Administrador.
.action-close
Os botões agora funcionam conforme esperado quandoMultiselect
é usado em um modal. Anteriormente, a variávelaction-close
botão não funcionou porque herdou o CSS do.action-close
botão do modal. GitHub-27240
- O trecho rico de Ofertas agora está presente no campo de preço principal na Exibição do produto. Anteriormente, esse trecho não estava presente nesse campo do bloco produtos relacionados na Exibição do produto, o que fazia com que os resultados da pesquisa do Google exibissem preços incorretos. GitHub-34063
- Problemas com a altura modal em dispositivos que executam o iOS foram resolvidos. GitHub-34467
- Os menus suspensos Ações agora estão posicionados corretamente em toda a loja. GitHub-31379
- Erros de acessibilidade com navegação no carrinho e páginas de check-out foram resolvidos. GitHub-34483
- Agora, os leitores de tela podem ler todos os elementos de formulário relevantes nas páginas de produtos.
- Ordem de classificação do widget de produto do catálogo da loja (Catálogo > Categoria > Produtos) agora corresponde à ordem configurada no Admin. GitHub-27126
- O seletor de região agora funciona conforme esperado na página Criar uma conta. GitHub-30099
- A grade de cliente Admin agora exibe todos os dados do cliente, incluindo os recém-adicionados
date
atributos personalizados, conforme esperado. Anteriormente, o Adobe Commerce emitia um erro e não exibia a grade do cliente do Administrador corretamente quando a variáveldate
conjunto de atributos definido como uma coluna.
- Rótulos de entrada no Catálogo > Produto a página de detalhes foi alterada para refletir com precisão a finalidade da entrada. Os campos para os quais a entrada do usuário não é necessária não exibem mais rótulos com um asterisco.
- A barra de ferramentas do editor de rich text agora pode ser acessada usando a tecla Tab.
- O nome acessível do controle agora inclui o texto de seu rótulo visível para o número de itens por lista suspensa de páginas.
- A tabela controla no Catálogo > Produto a página detalhes agora tem rótulos visíveis e um nome acessível quando a tabela é recolhida.
- Os botões em toda a loja agora têm nomes acessíveis exclusivos e descritivos. Anteriormente, os botões divididos com um botão de texto e um botão de ícone de seta para baixo adjacente tinham o mesmo nome acessível.
- Adição de um Hoje opção de exibição para os gráficos do painel de instrumentos Ordens de Admin e Quantias para fornecer um resumo de vendas e ordens durante o dia. GitHub-34008
- O estado ativo (clique) da seleção múltipla Fechar agora funciona de forma consistente. GitHub-34338
- O Adobe Commerce não exibe mais esta mensagem após a atualização quando o Modo de restrição de cookie está desativado:
The store will not work correctly in the case when cookies are disabled
. GitHub-33811
- Imagens de produto de tela inteira agora são exibidas corretamente em temas com direção de navegação em miniaturas verticais em dispositivos móveis. Anteriormente, as imagens do produto eram dimensionadas incorretamente ou invisíveis em temas com direção de navegação de miniatura vertical em dispositivos móveis no modo de tela cheia.
- As mensagens de erro na página de detalhes do produto não desaparecem mais rapidamente quando a variável Sincronizar os produtos do widget com o armazenamento de back-end definição de configuração está habilitada.
- A validação de valores negativos foi adicionada à Quantidade a Ser Devolvida no formulário Criar novo retorno.
- O Adobe Commerce não exibe mais endereços duplicados quando um comprador clica Alterar endereço na página Revisar e Pagamentos em uma disponibilização na qual o Pesquisa de endereço definição de configuração está habilitada.
- A variável Adicionar produtos O botão agora está ativado conforme esperado para administradores com permissões restritas ao trabalhar no escopo de visualização de loja na página Categoria do administrador.
- Os pontos de interrupção de exibição agora são consistentes no Adobe Commerce.
- O Adobe Commerce agora exibe corretamente os atributos de data do cliente personalizados com localidades personalizadas na página do cliente Administração.
- As imagens adicionadas usando o Page Builder não são mais duplicadas na loja quando exibidas com uma largura de janela de navegador de 768px. Anteriormente, com essa largura de janela do navegador, o Adobe Commerce duplicava imagens na loja ao exibir as versões móvel e desktop das imagens.
Substituições de URL
- As substituições de URL não são mais geradas novamente para todas as exibições de loja durante a criação de uma nova exibição de loja durante a execução
bin/magento setup:upgrade
. GitHub-32954
Visual Merchandiser
- O Visual Merchandiser Mover de estoque para baixo a opção de classificação automática agora funciona conforme esperado para produtos configuráveis quando todos os produtos simples estão esgotados.
- A regra do Visual Merchandiser não é mais salva quando nenhuma condição é adicionada.
Estrutura da API da Web
- As solicitações de API da Web para recursos de clientes autoautorizados não geram mais erros de autorização quando o carrinho de compras persistente está ativado.
- Agora você pode criar objetos usando as classes secundárias de
\Magento\Framework\Api\AbstractSimpleObjectBuilder
no PHP 7.3. Anteriormente,preg_match
lançou esta mensagem de aviso quando o Adobe Commerce estava hospedado no Redhat com o PHP 7.3:Warning: preg_match(): Compilation failed: unrecognized character follows...
.
- Os totais recuperados pela variável
PUT /V1/guest-carts/:cartId/collect-totals
agora são atualizadas pela versão correta doshippingMethod
. GitHub-18508
- Adicionar um novo desserializador à API REST não remove mais outros desserializadores. Anteriormente, a API REST aceitava um novo tipo de conteúdo, mas os tipos de conteúdo definidos pelo CORE para APIs não funcionavam mais e retornavam um erro 400. GitHub-26433
- Agora, você pode remover uma substituição de um parâmetro definido em uma
webapi.xml
arquivo. GitHub-33843
- O Adobe Commerce agora gera um
customertoken
por solicitações de API GraphQL ou REST, conforme esperado após várias tentativas consecutivas de logon com falha. Anteriormente, o Adobe Commerce não verificava se o valor delock_expires_at
inoauth_token_request_log
era maior que a data e hora atuais e sempre retornava o número de tentativas falhas, o que impedia o cliente de fazer logon. GitHub-34067
- Adicionar uma ID de cotação mascarada ao
QuoteRepository::getList
não causa mais um loop infinito. Anteriormente, o uso do processador de pagamento que dependia da API REST para atualizar pedidos acionava esse comportamento. GitHub-33675
- A variável
/rest/all/V1/categories/<above_created_category_id>
A chamada PUT agora respeita os valores especificados poravailable_sort_by
. Anteriormente, o menu suspenso Classificar por da Lista de produtos disponíveis era selecionado com todas as opções possíveis na página Categoria e a caixa de diálogo Usar tudo foi marcada. GitHub-32596
- O desempenho das solicitações da API REST para criar tokens do cliente foi aprimorado.
- Correção de um erro que ocorria ao Adicionar código da loja a URLs está definida como Sim e uma chamada REST não incluía um código de loja. Embora a carga fosse válida, a chamada retornava o seguinte erro:
Fatal error: Allowed memory size of **​**​**​**​**​ bytes exhausted (tried to allocate ​**​** bytes) in vendor/magento/module-store/Model/StoreRepository.php on line 75
.
- Agora faturas parciais para o mesmo pedido podem ser criadas simultaneamente usando a API REST.
Lista de desejos
- O Adobe Commerce não renderiza mais uma lista de desejos na barra lateral de categoria quando a variável Mostrar na barra lateral a opção lista de desejos está desativada. Anteriormente, o Adobe Commerce ignorava essa opção.
WYSIWYG
- Agora o PageBuilder renderiza corretamente os widgets personalizados com o editor WYSIWYG.
Problemas conhecidos
Problema: os comerciantes podem notar avisos de downgrade de versão do pacote durante a atualização do Adobe Commerce 2.4.4 para o Adobe Commerce 2.4.4-p1. Essas mensagens podem ser ignoradas. A discrepância nas versões do pacote resulta de anomalias durante a geração do pacote. Nenhuma funcionalidade do produto foi afetada. Consulte a Pacotes rebaixados após a atualização de 2.4.4 para 2.4.4-p1 Artigo da Base de conhecimento para uma discussão sobre cenários afetados e soluções alternativas.
Problema: os comerciantes não podem enviar reembolsos parciais para pedidos pagos com o Apple Pay through Braintree. Quando um comerciante tenta criar um aviso de crédito para um reembolso parcial da NFF da ordem, a variável Qtde. para Reembolso O campo não é editável. Solução alternativa: Aplicar correção braintree-disabled-partial-capture-for-applepay-googlepay.patch
. Consulte a Adobe Commerce 2.4.4: Não é possível criar faturas parciais Artigo da knowledge base.
Problema: os compradores não podem adicionar um produto ao carrinho quando nenhuma opção está selecionada em Admin Loja > Configuração > Geral > Opções de país > Permitir países. Em vez disso, o Adobe Commerce exibe este erro de console: Failed to load resource: the server responded with a status of 400 (Bad Request)
.
Problema: a descrição de Dotdigital em Localizar parceiros e extensões > Magento Marketplace O está desatualizado. Veja uma descrição atualizada:
A Dotdigital é uma plataforma de engajamento do cliente que ajuda profissionais de marketing e desenvolvedores digitais a fornecer comunicações em toda a jornada do cliente. Aproveitamos o potencial dos dados do cliente, alimentando o engajamento, a conversão e a fidelidade para as marcas à medida que elas crescem e se expandem. Os clientes adoram nossa plataforma fácil de usar, que conecta dados primários em todos os sistemas, detectando insights poderosos e automatizando mensagens preditivas entre canais.
Os mais de 350 funcionários da Dotdigital atendem empresas de médio porte e corporativas em todo o mundo e em vários setores. Nós aspiramos a inspirar o marketing responsável e estamos comprometidos com a sustentabilidade, a privacidade e a segurança. A Dotdigital tem orgulho de ser a primeira plataforma de automação de marketing neutra em carbono do mundo, certificada para ISO 14001, ISO 27701 e ISO 27001.
Consulte Dotdigital — Automação De Marketing para obter informações sobre compra e download.
Contribuições da Comunidade
Estamos gratos à comunidade Magento Open Source mais ampla e gostaríamos de reconhecer suas contribuições para esta versão.
A equipe de engenharia da comunidade Colaboradores Magento O mantém uma lista dos principais contribuintes individuais e parceiros por mês, trimestre e ano. Nessa página de Contribuidores, você pode seguir os links para as PRs mescladas no GitHub.
Contribuições do parceiro
A tabela a seguir destaca as contribuições feitas pelos Parceiros. Esta tabela lista o Parceiro que contribuiu com a solicitação de pull, o número da solicitação de pull externa e o número do problema do GitHub associado a ela (se disponível).
Contribuições individuais do contribuinte
A tabela a seguir identifica as contribuições dos membros da comunidade. Esta tabela lista o membro da comunidade que contribuiu com a solicitação de pull, o número da solicitação de pull externa e o número do problema do GitHub associado a ela (se disponível).
Requisitos do sistema
Nossa pilha de tecnologia é construída em PHP e MySQL. Para obter mais informações, consulte Requisitos do sistema.
Instruções de instalação e atualização
É possível instalar o Adobe Commerce 2.4.4 usando Compositor.
Kits de ferramenta de migração
A Ferramenta de migração de dados ajuda a transferir os dados de armazenamento existentes do Magento 1.x para o Magento 2.x. Essa interface de linha de comando inclui funções de verificação, rastreamento de progresso, registro e teste. Para obter instruções de instalação, consulte Instalar a Ferramenta de Migração de Dados. Considere explorar ou contribuir para o Repositório de migração de dados.
A variável Kit de ferramentas de migração de código O ajuda a transferir as extensões e personalizações do armazenamento do Magento 1.x existente para o Magento 2.x. A interface de linha de comando inclui scripts para converter módulos e layouts do Magento 1.x.