Notas de versão do Adobe Commerce 2.4.6
O Adobe Commerce 2.4.6 apresenta suporte para o PHP 8.2. O PHP 8.1 permanece totalmente suportado, mas o suporte para o PHP 7.4 foi removido. Ele inclui aprimoramentos significativos de desempenho e escalabilidade. As operações do GraphQL para operações de carrinho em massa e resposta de renderização da árvore de categorias foram otimizadas. Esta versão apresenta o metapackage de extensão do Adobe Commerce.
Esta versão inclui mais de 300 correções de qualidade e melhorias. As dependências do Core Composer e bibliotecas de terceiros foram atualizadas para as versões mais recentes que são compatíveis com o PHP 8.2.
Outras informações sobre a versão
Embora o código desses recursos esteja incluído nas versões 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.
Destaques do Adobe Commerce 2.4.6
Procure os seguintes destaques nesta versão.
Aprimoramentos de segurança
Esta versão inclui oito correções de segurança e melhorias de segurança da plataforma.
Nenhum ataque confirmado relacionado a esses problemas ocorreu até o momento. No entanto, certas vulnerabilidades podem ser potencialmente exploradas para acessar informações do cliente ou assumir o controle de sessões de administrador. A maioria desses problemas exige que um invasor obtenha acesso ao Administrador primeiro. Como resultado, lembretes para tomar todas as medidas necessárias para proteger seu administrador são:
- IP ➡ incluir na lista de permissões
- Autenticação de dois fatores
- Uso de uma VPN
- Uso de um local único em vez de
/admin
- Boa higiene de senha
Consulte o Boletim de Segurança do Adobe para obter a discussão mais recente sobre esses problemas corrigidos.
Aprimoramentos adicionais de segurança
Os aprimoramentos de segurança desta versão melhoram a conformidade com as práticas recomendadas de segurança mais recentes, incluindo:
-
As lacunas nos logs de ação do administrador foram abordadas com auditorias mais específicas de ações nas exibições de grade, ações em massa e exportações.
-
A validação do reCAPTCHA não falha mais durante o check-out quando erros inesperados ocorrem durante o processamento de pagamento. GitHub-35093
-
Nova configuração do sistema para exigir confirmação por email quando um usuário administrador alterar seu email. Para reduzir a vulnerabilidade do site, uma nova configuração do sistema (desabilitada por padrão) foi adicionada para exigir confirmação por email quando um usuário administrador altera seu email: Stores > Settings:Configuration > Customers > Customer Configuration > Account Information Options > Require email confirmation if an email has been changed. Quando essa opção estiver habilitada, o aplicativo solicitará a confirmação por email sempre que o usuário administrador alterar seu endereço de email. O seguinte módulo é afetado por esta alteração:
Magento_Customer
.
Aprimoramentos na plataforma
O Adobe Commerce 2.4.6 apresenta suporte para o PHP 8.2. O PHP 8.1 permanece totalmente suportado.
O suporte ao PHP 7.4 foi removido desta versão. Você não pode executar o Adobe Commerce 2.4.6 no PHP 7.4.
O Adobe Commerce 2.4.6 agora é compatível com:
-
Composer 2.2.x. O Composer 1.x foi removido.
-
Redis 7.0.x Embora a compatibilidade com o Redis 6.2 permaneça, recomendamos implantar esta versão com o Redis 7.0.x, pois o Redis 6.2 deve chegar ao fim da vida útil em 2024.
-
O OpenSearch agora é compatível como o mecanismo de pesquisa padrão para implantações do Adobe Commerce no local e na nuvem. Ele é compatível como um mecanismo de pesquisa independente para o Magento Open Source. Esta versão é compatível com OpenSearch v2.x e foi testada com OpenSearch 2.5. Embora a compatibilidade com o OpenSearch 1.x permaneça, recomendamos usar esta versão com o OpenSearch 2.x. Você pode instalar e executar o Adobe Commerce e o Magento Open Source 2.4.6 com OpenSearch 2.x na Nuvem e no local Pré-requisitos do mecanismo de pesquisa.
-
Elasticsearch 8.x Consulte Atualizar Elasticsearch.
-
MariaDB 10.6 (versão LTS). Esta versão ainda é compatível com o MariaDB 10.4, mas recomendamos a atualização para o MariaDB 10.6.
Outras atualizações e substituições
-
O esquema DHL foi migrado da v6.2 para a v10.0.
-
As bibliotecas JavaScript desatualizadas foram atualizadas para suas versões mais recentes e as dependências desatualizadas foram removidas. Essas alterações são compatíveis com versões anteriores.
-
A compatibilidade do PHP 7.4 foi removida da base de código do Commerce.
-
As dependências do Symfony foram atualizadas para a nova versão LTS. As dependências incluem:
friendsofphp/php-cs-fixer
symfony/console
symfony/event-dispatcher
symfony/finder
symfony/process
web-token/jwt-framework
-
jquery-migrate
foi removido da base de código do Commerce. GitHub-21406 -
Atualização da biblioteca
jQuery/fileUpload
para v10.32. -
Os componentes da estrutura Zend (ZF1) que atingiram o fim da vida útil foram removidos da base de código. Consulte destaques das alterações incompatíveis com versões anteriores.
-
As dependências do Laminas foram atualizadas para suportar o PHP 8.2.
-
O plug-in do Composer
laminas/laminas-dependency-plugin
foi removido. GitHub-36515 -
Substituiu
Zend_Filter
porlaminas/laminas-filter
. -
Atualizado
web-token/jwt-framework
para v3.0.5. (última versão) -
allure-framework/allure-phpunit
atualizado para v2.x. -
Atualização da biblioteca
Chart-js
para v3.9.1
Aprimoramentos de desempenho e escalabilidade
-
Desempenho aprimorado para operações que afetam muitos segmentos de clientes. Os comerciantes podem melhorar o desempenho de operações que envolvem mais de 100 segmentos de clientes ativando uma nova definição de configuração. A configuração Real-time Check if Customer is Matched by Segment pode ser desativada conforme necessário para reduzir o tempo de processamento, reduzindo a validação de cada segmento de cliente em relação aos clientes. Consulte Validação de segmentos de clientes.
-
Nova definição de configuração do sistema para limitar o número de produtos exibidos na grade de produtos. Os comerciantes podem usar a nova definição de configuração Limit Number of Products in Grid para melhorar o desempenho da grade de produtos. Esse limite é configurado para 20000 por padrão e afeta somente as coleções de produtos usadas pelos componentes da interface do usuário. A limitação do número de produtos exibidos pode aumentar o desempenho das operações em grades com mais de 200.000 produtos. Consulte Limitar número de produtos na grade
-
Desempenho de importação aprimorado (até 100.000 registros por minuto). Os comerciantes podem usar o novo ponto de extremidade da API REST do
POST /rest/<store_view_code>/V1/import/csv
para importar dados para o Adobe Commerce. Esse endpoint fornece os mesmos recursos que o recurso de importação de Admin e oferece suporte ao uso de um arquivo CSV para criar, atualizar e remover produtos, preços de produtos e entidades do cliente. Consulte Importar dados. -
Desempenho de processamento de ordem de alta taxa de transferência aprimorado por meio do balanceamento de carga. O Adobe Commerce 2.4.6 em clientes de infraestrutura em nuvem que têm um alto volume de pedidos simultâneos (1000 pedidos por minuto) agora pode melhorar o desempenho do processamento de pedidos, equilibrando a carga em seu banco de dados em diferentes nós. Os comerciantes podem reequilibrar essa carga habilitando conexões secundárias para o banco de dados MySQL e instâncias Redis. Consulte Processamento de pedido de alta produtividade
Metappackage da extensão do Adobe Commerce
Esta versão apresenta o metapackage de extensão do Adobe Commerce v1.1.0, que agrupa automaticamente extensões selecionadas do Adobe Commerce com esta versão principal. As versões dessas extensões incluídas neste metapackage são instaladas quando o composer update
é executado, simplificando o processo de atualização dessas extensões ao atualizar para a versão principal mais recente. Essas extensões ainda manterão programações de lançamento independentes.
O metapackage de extensão do Adobe Commerce para Adobe Commerce 2.4.6 inclui estas duas extensões:
As versões futuras deste metapackage de extensão conterão extensões adicionais.
Eventos Adobe I/O para Adobe Commerce
Adobe I/O Eventos para Adobe Commerce captura eventos Commerce e transfere dados do Adobe Commerce para outros sistemas Adobe. Os desenvolvedores podem criar aplicativos nativos em nuvem no Adobe Developer App Builder que assinam eventos do Commerce, como atualizações de inventário, alterações de status do pedido e atualizações de preço. Os desenvolvedores podem usar esse recurso para trocar dados com a orquestração de toda a jornada do comprador em seus sistemas de missão crítica.
Atualizações de acessibilidade
O foco desta versão tem sido a criação de uma experiência de loja na Venia (PWA) que seja mais perceptível, operável, compreensível e robusta. Esses aprimoramentos incluem:
- O rótulo de texto visual para o botão Sign in agora corresponde ao nome acessível. (A prática recomendada recomenda que o nome acessível de um elemento da interface comece com o texto do rótulo visível.)
- Nomes descritivos acessíveis foram adicionados aos botões em toda a loja.
- Rótulos descritivos verbais foram adicionados às caixas de seleção Has Video nos filtros de pesquisa.
- Os usuários somente de teclado agora podem acessar toda a funcionalidade de página na loja. Anteriormente, os compradores não podiam acessar links de subnavegação usando apenas pressionamentos de tecla.
Integração do Adobe Commerce com o Adobe IMS
Os seguintes módulos do Adobe IMS foram dissociados do código principal do Adobe Commerce 2.4.6 e agora são empacotados como um metapackage separado:
adobe-ims
adobe-ims-api
admin-adobe-ims
O novo adobe-ims-metapackage
v2.2.0 vem com o Adobe Commerce 2.4.6. Nenhuma funcionalidade foi alterada nesta versão.
B2B
O recurso Pedidos de compra para empresas agora está totalmente exposto pela API do GraphQL. Esta versão apresenta dois esquemas do GraphQL:
- O esquema GraphQL de ordem de compra abrange a funcionalidade Comprar Order Management de usuário de empresa B2B, como criar, editar e excluir ordens de compra. Consulte Ordens de compra (B2B).
- Regra de ordem de compra O esquema GraphQL oferece a capacidade de criar, editar e excluir regras de aprovação, bem como validar manualmente ordens de compra. Consulte Regras de aprovação de ordem de compra (B2B).
Esta versão inclui várias correções de erros. Consulte Notas de versão B2B.
Braintree
- O botão Pay Later e os banners (mensagens) da Itália e da Espanha foram habilitados para o Braintree.
- As mensagens do PayLater com o PayPal Vault foram habilitadas.
- Adição dos ganchos da Web de Proteção contra fraude e ACH. O gancho da Web de Proteção contra fraude é acionado quando uma decisão de risco é tomada no Braintree. O gancho da Web ACH é disparado quando o status de um pagamento ACH é atualizado para
settled
ousettlement decline
.
- Adição do gancho da Web LPM (Métodos de pagamento locais).
GraphQL
Os aprimoramentos de desempenho do GraphQL incluem:
Tempo de resposta aprimorado ao consultar categorias com permissões de categoria habilitadas. Os tempos de resposta melhoraram ao consultar produtos em categorias para as quais as permissões de categoria estão habilitadas e que contêm muitos grupos de clientes ou catálogos compartilhados. As alterações de código que suportam essa melhoria de desempenho incluem:
- A operação do resolvedor do GraphQL foi otimizada.
- O provedor de dados não redefine mais os dados em cache em tempo de execução para cada novo produto que está sendo processado, o que melhorou o desempenho.
- O processamento de permissões do produto foi otimizado no GraphQL Resolver. As permissões do produto agora são aplicadas às coleções de produtos, agora com base no produto.
- Permissões otimizadas lidas em catálogos compartilhados na mutação
addProductsToCart
. - As permissões do produto foram otimizadas com fragmentos integrados do produto.
Desempenho otimizado da renderização da árvore de categoria. A consulta categoryList
foi otimizada para oferecer suporte a clientes com um grande número de categorias. Os comerciantes que usam essa consulta para pesquisar mais de 1.500 categorias com até cinco níveis de subcategorias aninhadas notarão uma melhoria de desempenho. O carregamento de filhos de categoria pela refatoração do código foi aprimorado com a remoção de chamadas de método desnecessárias, o aprimoramento do armazenamento em cache da árvore de categorias e o carregamento recursivo de dados de categoria. As alterações de código que suportam essa melhoria de desempenho incluem:
- A busca de metadados de atributos personalizados para modelos de categoria foi aprimorada.
- A busca de ID de categoria foi aprimorada e
getChildren
chamadas foram reduzidas. - O carregamento de filhos da categoria foi aprimorado.
Tempos de resposta de consulta de operações de carrinho em massa reduzidos. As mutações adicionar produto foram otimizadas para melhorar o desempenho da consulta ao adicionar até 500 produtos simples e configuráveis. Os produtos do pacote não são afetados. As mutações otimizadas incluem addProductsToCart
, addConfigurableProductsToCart
, addDownloadableProductsToCart
, addSimpleProductsToCart
, addVirtualProductsToCart
,addWishlistItemsToCart
e updateCartItems
.
A consulta de cliente agora dá suporte à classificação de ordem. O objeto de saída orders
da consulta customer
agora contém um campo de classificação. Agora você pode classificar pedidos por número de pedido ou data de criação e em ordem crescente ou decrescente.
Novas mutações:
deleteCustomer
Page Builder
O Page Builder v.1.7.3 é compatível com o Adobe Commerce 2.4.6.
PWA Studio
O PWA Studio v.13.0.x é compatível com o Adobe Commerce 2.4.6. Ele inclui várias melhorias para melhorar a acessibilidade. Para obter informações sobre correções de erros, consulte versões de PWA Studio. Consulte Compatibilidade de versão para obter uma lista de versões do PWA Studio e suas versões principais compatíveis do Adobe Commerce.
Problema conhecido
Problema: o New Relic não é compatível com o PHP 8.2. Implantações executando o New Relic podem executar Adobe Commerce 2.4.6 no PHP 8.1 mas não no PHP 8.2. Solução alternativa: execute Adobe Commerce 2.4.6 no PHP 8.1 até que uma nova versão do New Relic seja lançada que suporte o PHP 8.2. Esta versão está prevista para o verão de 2023.
Problemas corrigidos
Corrigimos centenas de problemas no código principal do Adobe Commerce 2.4.6. Um subconjunto dos problemas corrigidos incluídos no Adobe Commerce 2.4.6 está descrito abaixo.
Instalação, atualização, implantação
- A implantação de conteúdo estático não atinge mais o tempo limite ou falha durante implantações padrão ou compactas com vários locais e sites.
- A estratégia compacta não causa mais uma referência inválida a um domínio externo ao executar a implantação de conteúdo estático (
bin/magento set:static-content:deploy -f --strategy compact
).
- A execução de
bin/magento setup:di:compile -vvv
(ou com as opções-v
ou-vv
) agora retorna uma mensagem informativa sobre a falha. GitHub-35391
- O Adobe Commerce não lança mais a seguinte exceção quando você executa o comando
bin/magento setup:upgrade
em uma implantação que já está executando a ferramenta de migração de dados:PHP Fatal error: Declaration of Migration\Logger\Logger::addRecord(int $level, string $message, array $context = []): bool must be compatible with Monolog\Logger::addRecord(int $level, string $message, array $context = [], ?Monolog\DateTimeImmutable $datetime = null): bool in /var/www/html/vendor/magento/data-migration-tool/src/Migration/Logger/Logger.php on line 34
. GitHub-35604
- O comando
bin/magento setup:db:status
não falha mais em ambientes que executam MySQL 8.0.29. Anteriormente, a saída do comando afirmava erroneamente que o esquema declarativo estava desatualizado. GitHub-35671
- O comando
composer install
não substitui mais.gitignore
arquivos. GitHub-32888
- A execução do
bin/magento sampledata:remove
para remover dados de exemplo após a atualização no Alpine Linux não falha mais com este erro:Undefined constant "MagentoHackathon\Composer\Magento\Deploystrategy\GLOB_BRACE
. GitHub-36062
bin/magento setup:upgrade
agora é executado com êxito após a primeira execução decomposer install --no-dev
. GitHub-36351
- Exceções e entradas de rastreamento de pilha de exceção agora estão incluídas em
var/log/exception.log
. GitHub-36054
- O Adobe Commerce agora lança um erro de validação de parâmetro ao usar a linha de comando para definir uma conexão Redis sem uma senha.
Acessibilidade
- Os botões Proceed to Checkout, Review Order e Place Order no fluxo de trabalho de check-out agora funcionam como esperado com a entrada do teclado.
- A indicação visual do foco nos botões ao usar TAB ou SHIFT + TAB para navegar pelos controles de página agora funciona conforme esperado.
Leitores de tela
- O leitor de tela da página de histórico do pedido agora lê a descrição de imagem correta.
Os leitores de tela agora anunciam:
- Contagem total de itens encontrada nos resultados da pesquisa como esperado
- Nome do usuário conectado quando um usuário entrar com êxito usando controles de teclado
- O cabeçalho da página de resultados da pesquisa de produto agora lê o valor correto para o
<title>
elemento - Se os campos de entrada são obrigatórios
- Corrigir o estado atual dos elementos do acordeão (recolhidos e expandidos)
- Quando o conteúdo da página é atualizado depois que o usuário clica no botão Create an account
Produtos do pacote
- A atualização do produto do pacote por meio da API para uma exibição de loja específica agora não substitui outros dados de exibições de loja do mesmo produto do pacote. Anteriormente, os títulos de opção de produto de pacote eram substituídos pelo título da primeira opção para outras exibições da loja.
- Os produtos agrupados agora podem ser filtrados com êxito do Administrador Catalog > Products ao usar um local holandês. Anteriormente, o Adobe Commerce exibia este erro quando você tentava filtrar em
Type: Bundle Product
:Something went wrong with processing the default view and we have restored the filter to its original state
. GitHub-35704
- A grade de produtos não lança mais uma exceção quando os produtos de pacote têm um preço especial superior a 1000. Anteriormente, ao pesquisar o produto pelo SKU ou navegar até Catalog > Products, a Adobe Commerce exibia este erro:
Non Numeric value encountered
. GitHub-36284)
- As colunas no aviso de crédito e nos PDF de fatura para pedidos que contêm uma combinação de pacote e produtos simples agora são renderizadas corretamente. Anteriormente, as colunas estavam distorcidas ou desalinhadas.
- Em consultas GraphQL que contêm um fragmento
BundleProduct
, o objetoitems.options.product
contém os dados esperados. Anteriormente, o objeto podia ser nulo em algumas circunstâncias.
- Quantidades decimais para opções de pacote agora são renderizadas corretamente quando Quantity uses decimals está habilitado. Anteriormente, somente a parte inteira da quantidade era renderizada, não o componente fracionário. Por exemplo, uma quantidade de 1,5 foi renderizada como 1,0. GitHub-35964
- As consultas de produto do GraphQL agora retornam somente opções de produto agrupadas dentro do escopo da loja que está sendo consultada.
- Os produtos que não estão atribuídos a categorias, mas que são opções de produtos para pacotes ou produtos agrupados, agora são retornados em respostas quando a configuração Allow Category Browsing está habilitada para o cliente que está enviando a consulta.
Cache
- O cache de página inteira não é mais liberado após o preenchimento do pedido, a menos que o produto solicitado esteja esgotado. Anteriormente, o cache era removido para a categoria sempre que uma entrega era criada.
- Agora, os dados são armazenados em cache com êxito quando o cache L2 é configurado e os dados remotos são parcialmente removidos. Anteriormente, após liberar somente o cache de dados sem os hashes desses dados, o novo cache não era salvo enquanto os hashes de dados existiam.
- Correção de defeitos em
CatalogUrlResolverIdentity
eCmsUrlResolverIdentity
que impediam o armazenamento em cache. Isso afetou o cache de consulta de rota em várias solicitações.
Carrinho e check-out
- Os compradores agora podem adicionar mais um item ao carrinho quando o carrinho contém a quantidade mínima do produto simples.
- As chamadas da API REST para recuperar dados do carrinho agora retornam os mesmos valores
grand_total
ebase_grand_total
quando a moeda de armazenamento e a moeda base são as mesmas. GitHub-34649
- O valor exportado de Maximum Qty Allowed in Shopping Cart agora corresponde ao valor padrão definido na definição da configuração de Administração.
- A Adobe Commerce agora calcula corretamente o total geral de reembolsos de pedidos com desconto para envio.
- O Google reCAPTCHA agora funciona conforme esperado para pedidos de vitrine. Anteriormente, o Adobe Commerce exibia esses erros quando o Google ReCAPTCHA não era selecionado pela primeira vez antes de um comprador tentar fazer um pedido pela primeira vez:
ReCaptcha validation failed, please try again
eNo such cart with id = ID
.
- A atualização da imagem CAPTCHA agora atende à definição da Configuração de administrador e não é acionada quando a definição está desativada. Anteriormente, a atualização era acionada sempre que o método de pagamento era alterado, independentemente da configuração estar ativada ou desativada. GitHub-34855
- O Adobe Commerce agora exibe um pop-up de confirmação conforme esperado antes de redirecionar um comprador para a próxima página quando ele altera a quantidade do produto na página do carrinho sem atualizar o carrinho e, em seguida, tenta navegar até a próxima página.
- Os compradores agora podem diminuir a quantidade de um produto do carrinho depois que ela foi diminuída no Administrador. Anteriormente, a Adobe Commerce exibia o seguinte erro quando um comprador tentava diminuir a quantidade do produto:
The requested qty is not available
. GitHub-35780
- O Adobe Commerce não lança mais um erro no console do JavaScript quando a quantidade do produto excede o máximo configurado durante a finalização de remessa múltipla. Em vez disso, o Adobe Commerce agora exibe uma mensagem de erro informativa. GitHub-36184
- A quantidade de itens na página do carrinho de compras não é mais representada como um número negativo quando um comprador usa a tecla de seta para baixo do teclado para alterar a quantidade do produto. GitHub-36299
- Os compradores não podem mais adicionar ao carrinho um produto de uma categoria que agora não é permitida após alterar o grupo de clientes ao qual o comprador pertence. O Adobe Commerce agora verifica o acesso às permissões do grupo de clientes para categorias específicas quando as configurações de permissão forem alteradas.
- Os carrinhos de compras do cliente não são mais esvaziados antes da criação do pedido pelo administrador e o conteúdo do carrinho agora é restaurado se o pedido for cancelado ou abandonado. Os itens agora são removidos do carrinho somente após a criação do pedido. Anteriormente, sempre que um usuário administrador tentava criar um pedido na página Admin Gerenciar carrinho de compras, o carrinho era esvaziado.
- O minicarrinho agora exibe imagens corretas do produto depois que você executa o
bin/magento catalog:image:resize
. Anteriormente, todas as imagens eram substituídas pela imagem padrão do espaço reservado do produto. GitHub-35535
- O check-out agora pode ser concluído com êxito quando o endereço de entrega contiver um atributo de extensão. Anteriormente, o Adobe Commerce exibia este erro:
Object of class Magento\Quote\Api\Data\AddressExtension could not be converted to string
. GitHub-34202
- A mutação
addBundleProductsToCart
não adicionará mais produtos a uma cotação se uma opção de produto necessária não tiver valor. GitHub-25676
- O Adobe Commerce agora retorna uma mensagem informativa quando uma mutação
addProductsToCart
falha ao adicionar um produto ao carrinho com permissões insuficientes.
- O Adobe Commerce não lança mais um erro na página do carrinho quando o Pedido rápido é usado para adicionar um produto em uma quantidade que excede o estoque disponível.
- A mutação
setGiftOptionsOnCart
agora requer autorização do cliente para operações do carrinho do cliente.
Regra de preço do carrinho
- As opções de entrega gratuita da regra de preço do carrinho definidas durante a criação da regra agora são aplicadas às ordens, conforme esperado. Anteriormente, as opções de frete gratuito aplicadas durante a regra criada eram ignoradas durante o check-out e o frete gratuito não era permitido quando a regra era aplicada. GitHub-35013
- A coluna
discount_percent
da tabelasales_order_item
de um produto agora é preenchida como esperado com a porcentagem de desconto quando a quantidade de desconto do item não está definida ou é maior ou igual à quantidade do item da ordem. Anteriormente, essa coluna não era preenchida quando uma regra de preço do carrinho era aplicada a este produto.
Catálogo
- O widget lista de produtos não exibe mais preços incorretos ou em cache para um comprador conectado. O preço exibido no widget da página inicial agora corresponde ao endereço do comprador e é atualizado quando o comprador atualiza o endereço. Anteriormente, o cache do navegador não atualizava os preços do produto na página inicial com base nas regras de imposto do grupo de clientes.
- O recurso de lista Comparar produtos agora funciona corretamente em uma implantação de vários sites e depende do site.
- O Adobe Commerce não exibe mais os dados da página anterior quando você recarregar uma página de detalhes do produto. Anteriormente, quando a página de detalhes do produto era recarregada, os dados da primeira guia eram mesclados com os dados recém-carregados por uma divisão de segundo.
- As categorias com subcategorias agora podem ser expandidas no menu principal em dispositivos móveis, conforme esperado. Anteriormente, os compradores não podiam abrir ou expandir categorias com subcategorias em implantações móveis. GitHub-35329
- As listagens de categoria agora são atualizadas conforme esperado quando um produto é atribuído a um novo site ou loja. Anteriormente, o indexador de preço do produto não era marcado como inválido e acionado novamente em uma execução
cron
, conforme esperado. Como resultado, a entrada de preço do produto não estava na tabela de índice de preço e não era exibida na nova loja ou site.
- A contagem de inventário da loja agora é precisa quando a configuração Display Out of Stock Products está habilitada. GitHub-35899
- A página de categoria não fica mais vazia quando a configuração Allow All Products Per Page está habilitada. GitHub-35900
- A opção de configuração Display Out of Stock Products agora funciona conforme esperado quando habilitada. Anteriormente, todos os produtos eram exibidos como indisponíveis na loja quando essa opção estava ativada no administrador. GitHub-35898
- Os clientes atribuídos a um grupo Atacado agora podem adicionar um produto agrupado ao carrinho, quando permitido por permissões de categoria. Se essa permissão não for definida para um grupo de Clientes, a configuração terá prioridade.
- A classificação de produtos por atributos booleanos agora funciona conforme esperado. GitHub-36390
- Os descontos da regra de preço de catálogo não são mais aplicados às opções de produto personalizadas de preço fixo, mas são aplicados apenas ao preço original do produto.
- Os produtos relacionados agora são obtidos com êxito na página de detalhes do produto da loja quando gerados pela regra de produto relacionada para atributos alfanuméricos do produto. GitHub-36285
- As regras de preço de catálogo agora levam em conta o escopo selecionado e são aplicadas aos produtos somente para os sites para os quais o atributo tem um valor de opção que corresponde à regra. Anteriormente, a regra não levava em conta o escopo selecionado em implantações de vários sites. GitHub-36049
- Os atributos de cor e tamanho das opções de amostra agora são pré-selecionados na página Detalhes do produto quando um comprador modifica o produto configurável na página Meu carrinho. (A versão jQuery 3.x agora oferece suporte ao nome do widget
swatchRenderer
, que agora faz parte do tipo camel case.) Anteriormente, a opção de amostra não era pré-selecionada.
- Agora os clientes são notificados sobre quedas de preço do produto quando o cliente é inscrito no alerta de queda de preço. Anteriormente, as notificações de queda de preço nem sempre eram enviadas devido ao armazenamento em cache no nível do aplicativo.
- As regras de catálogo baseadas em SKUs com a condição is not one of agora funcionam conforme esperado.
- O Adobe Commerce não assume mais erroneamente que uma categoria é a categoria principal de outra com base no caminho da categoria. Anteriormente, quando duas categorias eram adjacentes e uma ID de categoria começava com a ID de categoria de outra categoria, a Adobe Commerce presumia que as categorias tinham a mesma categoria principal. GitHub-32464
Produtos configuráveis
- O Adobe Commerce não emite mais um erro quando um usuário administrador adiciona produtos manualmente a um produto configurável que já tem muitos produtos simples atribuídos a ele. Anteriormente, o Adobe Commerce exibia este erro:
Something went wrong with processing the default view and we have restored the filter to its original state
.
- Os compradores não podem mais adicionar produtos configuráveis com uma quantidade comercializável de 0 ao carrinho de compras em implantações com pedidos pendentes desativados. O Adobe Commerce agora indica que o produto está esgotado. GitHub-35319
- A criação de um novo produto importando um produto configurável com muitas opções de uma visualização de loja diferente agora resulta em uma cópia exata do primeiro produto, conforme esperado. Anteriormente, a ordem de classificação das opções configuráveis do novo produto estava incorreta, e os títulos não eram traduzidos para o local do novo modo de exibição da loja em implantações com vários modos de exibição de loja e locais. GitHub-35200
- Os produtos configuráveis com todos os produtos secundários indisponíveis agora são exibidos como indisponíveis na loja.
- As SKUs e os nomes de produtos configuráveis agora são exibidos com precisão. Anteriormente, nomes e SKUs eram exibidos como indefinidos depois que você movia um grupo de atributos para cima do grupo Detalhes do Produto em Stores > Attribute set. GitHub-36309
Cupons
- A lógica de validação foi adicionada ao fluxo de trabalho Gerenciar códigos de cupom para aplicar as configurações de código do cupom ao gerar cupons. Anteriormente, a geração de código de cupom ignorava a configuração Code Length quando o valor de Quantidade de Cupom era maior que 2500.
- Os pontos de recompensa agora são adicionados à conta de um cliente conforme esperado quando um cupom de recompensa é aplicado durante o checkout com o método de pagamento PayPal Express.
- Agora é possível aplicar um código de cupom durante a criação da ordem de Administrador quando a regra de preço do carrinho tem o peso como uma condição. Anteriormente, os códigos de cupom não eram definidos se outros campos não fossem selecionados para o produto. GitHub-36271
- Agora você pode filtrar relatórios de cupom por várias regras de preço de carrinho. GitHub-36272
- Agora as opções personalizadas são aplicadas e salvas quando um usuário administrador pressiona Enter ao configurar um produto com opções personalizadas. Anteriormente, você podia selecionar opções e adicionar o produto a um pedido, mas as opções não eram salvas e o usuário administrador era solicitado a selecionar novamente as opções do produto. GitHub-35284
- Os códigos de cupom agora podem ser exportados com êxito para XML do Excel. Anteriormente, o arquivo gerado não continha todos os códigos de cupom selecionados, mas apenas a quantidade de itens selecionados no seletor de itens por página.GitHub-36073
cron
- O trabalho cron
catalog_index_refresh_price
agora é executado com êxito. Anteriormente, a Adobe Commerce registrava este erro durante a execução do cron:report.ERROR: Cron Job catalog_index_refresh_price has an error: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
.
Moeda
- Um espaço ausente entre símbolos e preços de moeda personalizados foi adicionado aos preços de produtos de vitrine e administrador. A condição e expressão regex apropriadas foram adicionadas para permitir um NBSP personalizado em símbolos de moeda. Por exemplo, IDRx 105.00 era exibido anteriormente como IDRx105.00.
Segmento do cliente
- O filtro Sim/Não na grade Segmentos do cliente de administração durante a criação de uma nova regra de preço do carrinho agora funciona conforme esperado.
- O Adobe Commerce não envia mais emails duplicados de um cliente depois que um pedido é criado pelo administrador.
- Emails de ordem de administrador não são mais enviados quando a configuração Email order confirmation está desabilitada. GitHub-36256
- As opções de imagem não são mais exibidas como marcação de HTML no aviso de crédito, confirmação de pedido e emails de cliente de fatura (modelo padrão) para produtos com opções personalizadas.
Estruturas
- Os usuários administradores agora podem abrir com êxito a página Admin Store > Configuration quando não há nenhum país na configuração Países da União Europeia (Stores > Configuration > General > Country options > European Union Countries). Anteriormente, quando um usuário administrador tentava abrir esta página, o Adobe Commerce exibia este erro:
TypeError: explode(): Argument #2 ($string) must be of type string, null given in /var/www/php/folder/vendor/magento/module-config/ViewModel/CountryFilter.php:46
. GitHub-35901
jquery.cookie
dependências agora funcionam como esperado com dependências do JavaScript. Anteriormente, não era possível usar aliases parajquery/jquery.cookie
. GitHub-35913
- O comando
bin/magento i18n:collect-phrases
agora inclui texto<title>
no arquivo CSV exportado. GitHub-35462
Magento\Framework\Code\Reader\ArgumentsReader::getParentCall()
agora dá suporte a argumentos de construtor nomeados. Agora você pode chamar uma função definindo os parâmetros pelo nome.
- Agora os erros são registrados como esperado no arquivo
exception.log
. Anteriormente, embora erros fossem registrados no arquivosystem.log
, erros não foram registrados emvar/log/exception.log
.
- Os comerciantes agora podem especificar um provedor SMTP externo personalizado. GitHub-26104
- As integrações OAuth agora podem ser reautorizadas, conforme esperado, em implantações que executam o Adobe Commerce 2.4.3-p2. Anteriormente, a reautorização falhou com este erro:
The attempt to post data to consumer failed due to an unexpected error. Please try again later
. O Adobe Commerce também tentou descriptografar valores não criptografados. GitHub-35313
- O parâmetro
rowId
correto agora é passado quando a categoriaurlKey
é salva para categorias que têm categorias filhas. Anteriormente, ocategoryId
errado era passado ao salvar a categoriaURLKey
.
- O código de atributo de produto
event
foi adicionado à lista de códigos de atributo de produto reservados, o que elimina erros associados ao uso de um atributo com esse nome na loja. Anteriormente, o aplicativo exibia esse erro nas páginas de detalhes e de pesquisa/lista de produtos quandoevent
era usado:report.CRITICAL: Error: Call to a member function getStatus() on string in /home/mer33515/public_html/ee24develop/magento2ee/app/code/Magento/CatalogEvent/Observer/ApplyIsSalableToProduct.php:23
.
- As mensagens de erro de validação da vitrine eletrônica que ocorrem durante o posicionamento do pedido agora são exibidas de forma consistente. Anteriormente, as mensagens apareciam, recolhiam-se e reapareciam. GitHub-35651
- Consumidores AMQP não falham mais devido a uma função
trim()
obsoleta em implantações executando PHP 8.1. Anteriormente, quando o consumidor AMQP era iniciado após a instalação, o Adobe Commerce exibia este erro:Deprecated Functionality: trim(): Passing null to parameter #1 ($string) of type string is deprecated in .../vendor/magento/framework-amqp/Config.php on line 143
. GitHub-35380
- O método
getFilteredTimerIds
agora funciona conforme esperado. A classeMagento\Framework\Profiler\Driver\Standard\Stat
agora é compatível com o PHP 8.1. Anteriormente, o Adobe Commerce lançava uma exceção quando esse método era chamado. GitHub-35307
- Dependência removida da biblioteca
imagemin-svgo
.
- O processo de minificação de modelo agora processa com êxito comentários consecutivos quando o primeiro comentário começa com
//
. GitHub-34880
- Corrigida uma consulta de banco de dados emitida pelo módulo
BundleGraphQl
que retornou este erro:"debugMessage": "Notice: Undefined offset: 16 in vendor/magento/module-bundle-graph-ql/Model/Resolver/Options/Collection.php on line 130"
.GitHub-34991
Correções gerais
- O Adobe Commerce agora exibe um intervalo de tempo preciso quando um usuário administrador seleciona a opção Last 24 Hours no painel Estatísticas do administrador. Anteriormente, o Adobe Commerce exibia um intervalo de tempo incorreto. Isso ocorreu porque o fuso horário do banco de dados permaneceu inalterado.
- Os avisos de crédito agora podem ser gerados para quantidades inteiras e decimais. Anteriormente, só havia suporte para quantidades inteiras.
- A regra de validação de entrada de CEP do cliente para o tipo somente numérico agora funciona como esperado no campo Edit Customer Address (Store > Attribute > Customer Address). Anteriormente, as informações de endereço do cliente eram salvas sem validação de código postal.
- Os usuários administradores com acesso restrito a um site agora podem fazer logon com êxito no Administrador usando o recurso Fazer logon como cliente.
- As contas de clientes compartilhadas globalmente agora têm endereços validados em relação à lista de países permitidos para o site atual e salvos com sucesso. Anteriormente, essas contas eram validadas incorretamente em relação aos países permitidos no site onde o cliente estava registrado.
- As navegações estruturais da hierarquia de páginas do CMS não são mais exibidas quando Enable Hierarchy Functionality está desabilitado. Anteriormente, as navegações estruturais eram exibidas e, quando os compradores clicavam nelas, uma página 404 era exibida. GitHub-35513
- Remover um produto de todos os sites por meio do Administrador não causa mais o seguinte erro:
SQLSTATE[42000]: Syntax error or access violation
. GitHub-35133
- Os clientes que excederem o máximo de tentativas de logon com falha agora podem fazer logon após a redefinição da senha. GitHub-34981
- O componente de linhas dinâmicas agora se comporta conforme esperado quando um usuário administrador adiciona um novo elemento. Anteriormente, o componente de linha se comportava incorretamente quando um novo produto simples era adicionado a um produto agrupado. GitHub-34850
- Erros de digitação e gramática incorreta corrigidos no arquivo
app/code/Magento/Backend/etc/menu.xsd
.
- O arquivo
app/code/Magento/Authorization/README.md
foi atualizado para descrever com precisão a criação da tabela.
- O método
recordLogin
foi atualizado para definir valores de logon no modelo de usuário, bem como para preservar os valores corretos nos camposlogdate
elognum
da tabelaadmin_user
. Anteriormente, as tentativas de logon de usuários administradores atualizados não eram registradas.
- Modelos de problemas do GitHub foram convertidos em formulários de problemas para a experiência do desenvolvedor e solicitações de recursos.
- O atributo do cliente
Is required
agora é implementado corretamente por escopo de site para o formulário de edição do cliente Administrador.
- O campo Grid Filter Condition Type dos atributos de endereço do cliente e do cliente não fica mais visível na página de edição de atributos quando a configuração Use in Filter Options está desabilitada.
- O Adobe Commerce agora exibe uma mensagem de erro informativa se um comerciante não inserir um valor de atributo SKU opcional ao criar um produto. Anteriormente, o aplicativo lançava esta exceção quando o atributo era opcional:
Deprecated Functionality: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/mg244/project-community-edition/vendor/magento/module-eav/Model/Entity/AbstractEntity.php on line 932
. GitHub-35810
- O filtro Show my quotes na página My Quotes agora funciona conforme esperado. Anteriormente, os resultados do filtro incluíam as cotações de outros usuários administradores.
Cartões-presente
- As quantidades de produto do cartão-presente agora permanecem iguais à quantidade especificada em um arquivo CSV durante a importação. As verificações de opções existentes foram adicionadas e os valores antigos agora são atualizados com base em uma chave exclusiva. Anteriormente, os valores de cartão-presente eram duplicados quando os cartões-presente eram importados várias vezes.
Invólucro de presente
- O preço de quebra de presente agora é exibido conforme esperado no bloco de resumo do pedido quando a quebra de presente é aplicada no nível do pedido a um pedido que contém produtos físicos e virtuais. Anteriormente, o Adobe Commerce não exibia o preço de embalagem do presente.
GraphQL
Types
que implementam várias Interfaces no código GraphQL agora podem ser separadas por um sinal&
e,
de acordo com a especificação@doc
do GraphQL.
- A mutação
setShippingAddressesOnCart
agora dá suporte à configuração de códigos de região numérica comoregion
. Anteriormente, essa mutação funcionava incorretamente para valores de código de região numérica.
- A consulta
products
agora retorna somente revisões associadas ao escopo especificado. Anteriormente, as consultas retornavam análises de todas as lojas.
- As permissões de categoria agora são respeitadas durante solicitações do GraphQL.
- A consulta
customer
agora filtra corretamente pedidos com um intervalofrom
eto
especificado. GitHub-31537
- A consulta
product
agora retorna dados de categoria corretos na agregação. Anteriormente,attribute_code.category_uid
retornava o valor decategory_id
em vez decategory_uid
.
- A consulta
customerOrders
não lança mais um erro\"model\" value should be specified
. GitHub-35852
- A consulta
customer
agora filtra ordens com base no escopo. Agora é possível especificar se a consulta deve filtrar pedidos por loja, site ou globalmente.
- A consulta
categoryList
agora retorna uma contagem de produtos precisa para categorias pai ancoradas e não ancoradas. O novo atributois_anchor
foi adicionado à lista de colunas selecionadas da coleção de categorias. Anteriormente, as solicitações retornavam uma contagem de produto 0. GitHub-36300
- A mutação
generateCustomerTokenAsAdmin
agora funciona como esperado ao criar um token para fazer logon em um armazenamento não padrão em uma implantação de vários armazenamentos. GitHub-35084
- A mutação
createEmptyCart
agora aciona uma exceção conforme esperado quando um token expirado é usado. GitHub-26112
- As mensagens de erro de consulta do carrinho se tornaram mais informativas. GitHub-34546
- Os dados de agregação na resposta de uma consulta
products
agora incluem valores corretos para o atributo de tipo de preçoattribute_code
elabel
. GitHub-28878
- A consulta
products
retorna informações de categoria conforme esperado quando o prefixo do banco de dados tem um valor não nulo. Anteriormente, retornava umInternal server error
. GitHub-36117
- Tipo de retorno corrigido para o método
getCustomerIsGuest
. GitHub-29529
- O plug-in
Magento\CatalogGraphQl\Plugin\DesignLoader
foi refatorado.
- Agora, o recarregamento do carrinho é acionado apenas uma vez, conforme esperado, quando o carrinho é inicializado por mutações do GraphQL. Anteriormente, o carregamento do carrinho acionava revalidação desnecessária do carrinho em relação ao inventário de estoque, que consumia recursos significativos sempre que o carrinho era carregado.
- Adição do tipo
gift_message
aoOrderItemInterface
. GitHub-29418
- As opções de produto retornadas nas respostas do GraphQL agora incluem apenas os produtos que estão no catálogo ao qual o usuário pertence. Se o usuário pertencer a um catálogo compartilhado, somente os produtos nos catálogos compartilhados serão retornados. Se o usuário for um convidado ou não fizer parte de um catálogo compartilhado personalizado, apenas os produtos no catálogo público serão retornados.
Google ReCAPTCHA
- Um erro de reCAPTCHA no arquivo
var/log/exception.log
para o logon de Administrador do reCAPTCHA do Google V3 foi resolvido e nenhuma mensagem de erro foi registrada. Anteriormente, o seguinte erro era gerado a cada poucos segundos quando um usuário administrador definia suas configurações de Configuration > Security > Google reCAPTCHA Admin Panel:main.ERROR: Can not resolve reCAPTCHA parameter. {"exception":"[object] (Magento\Framework\Exception\InputException(code: 0): Can not resolve reCAPTCHA parameter. at /home/xxxxxxx/public_html/vendor/magento/module-re-captcha-ui/Model/CaptchaResponseResolver.php:25)"} []
. GitHub-34975
Imagem
- Atualização das recomendações sobre o tamanho do logotipo para a guia da fatura de PDF.
Importar/exportar
- A importação de um produto com a mesma chave de URL numérica que um produto existente, mas sem seu caractere alfabético terminal, não causa mais um erro de validação quando o Product URL Suffix está definido como vazio no Admin.
- O comando
bin/magento app:config:import
agora importa com êxito o conteúdo de um arquivoconfig.php
quando ele contém determinadas expressõescron
. Anteriormente, a importação falhou com este erro:Import failed: Notice: Trying to access array offset on value of type null in [..]/vendor/magento/module-config/Model/Config/Backend/Currency/Cron.php on line 66
. GitHub-31428
- A exportação completa agora funciona corretamente quando o AWS S3 é usado como armazenamento remoto. Anteriormente, a exportação falhava devido ao tamanho do arquivo carregado.
- O status do produto agora é importado corretamente quando as colunas de dados do inventário no arquivo CSV estão ausentes. Anteriormente, após a importação do produto, a origem padrão era atribuída automaticamente ao produto, sua quantidade era definida como zero e seu status era listado como indisponível quando as colunas de dados do inventário no arquivo CSV estavam ausentes.
- A importação de valores de precificação antecipada agora fornece a contagem correta para registros novos e atualizados quando a importação inclui mais de 100 registros. Anteriormente, a mensagem de sucesso da importação fornecia a contagem errada.
- Os arquivos CSV exportados agora contêm caminhos corretos para nomes de categoria que são salvos em vários idiomas. Uma ID de loja foi adicionada à coleção de categorias. Anteriormente, os arquivos exportados continham caminhos mistos com idiomas diferentes em vez de um caminho de categoria derivado da visualização de armazenamento padrão.
- A atualização de opções personalizadas de um produto em uma exibição de loja específica por meio da importação agora é concluída com sucesso. Anteriormente, um erro interno de servidor era lançado se uma linha relacionada ao produto fosse dividida em vários lotes.
- O serviço de importação do
Fixer.io
agora funciona conforme esperado. As taxas de moeda agora são importadas com sucesso. GitHub-36010
Índice
- O indexador
batch_size
para o índicecatalogpermissions_category
foi alterado para o valor fornecido no arquivoenv.php
, conforme esperado. Anteriormente, um erro de digitação no caminho para a substituição do indexadorbatch_size
impedia a alteração do tamanho do lote para o valor fornecido emenv.php
. GitHub-652
- A reindexação de preço agora é executada com sucesso quando o catálogo contém produtos de pacote que não estão atribuídos a nenhum site. Anteriormente, o seguinte erro ocorria quando o índice de preço do produto era executado:
Warning: Undefined array key <bundel product id > in vendor/magento/module-bundle/Model/ResourceModel/Indexer/Price/DisabledProductOptionPriceModifier.php on line 117
. GitHub-35796
Infraestrutura
- Limpeza adicionada de valores
DATE
eDATETIME
nos despejos de banco de dados para suporte ao Adobe Commerce. Anteriormente, os campos do tipo datetime não eram limpos para tabelas de clientes/cotações/pedidos na tabela de backup do banco de dados.
- A função
escaper.js
escapeHtml
agora converte o caractere especial E comercial (&) em"$amp;"
de acordo com a regraInnerHtml
. Essa solução genérica resolve problemas de conversão de referências a caracteres e caracteres especiais na caixa de entrada de título e salva o valor exato conforme inserido. Anteriormente, os caracteres de E comercial (&) eram codificados incorretamente nos nomes de nó na hierarquia de conteúdo.
- Problemas com o módulo
colinmollenhour/php-redis-session-abstract
de terceiros e o PHP 8.1 foram resolvidos. GitHub-35634
Galeria de mídia
- A Galeria de mídia herdada agora está desativada por padrão. Anteriormente, Enable old Media gallery estava definido como Yes.
- A Galeria de novas mídias foi otimizada para melhorar o carregamento da árvore de diretório na página de categoria.
Logs
- Agora você pode gerar relatórios do sistema para arquivos de log de 0 bytes. Anteriormente, o Adobe Commerce emitia um erro ao gerar um relatório para uma coleção de arquivos de log quando um ou mais arquivos estavam vazios.
Pedido
- A página de aviso de crédito de ordem de venda de Administrador agora exibe o total geral correto para pedidos criados com Crédito de loja e várias faturas. Anteriormente, o cálculo do total geral estava incorreto e o usuário não podia gerar um memorando de crédito.
- O prefixo do pedido passado no script de instalação agora é adicionado corretamente à ID do pedido.
- A página de detalhes do pedido agora é carregada com êxito quando o pedido contém um produto com um valor de texto personalizado longo. Anteriormente, a página de detalhes do pedido não carregava e o valor na coluna
sales_order_item.product_options
não era armazenado corretamente se um produto continha um valor longo para uma opção personalizada de texto.
- O status do pedido de vitrine agora é preciso para pedidos parcialmente reembolsados. Anteriormente, um pedido permanecia no estado de processamento após a entrega quando um reembolso parcial era aplicado. GitHub-35528
- O grupo de clientes agora é representado precisamente como Não conectado para um pedido criado por um usuário convidado. Anteriormente, o grupo de clientes era NULL nos resumos de pedidos de convidados, o que afetava os emails de confirmação e a exportação de pedidos. GitHub-35440
- Um status de Closed agora está atribuído a pedidos virtuais conforme esperado depois que um aviso de crédito é emitido e o cliente é reembolsado. Anteriormente, os produtos virtuais eram exibidos como Complete no menu suspenso Status, mas Closed no rodapé dos comentários do pedido quando o comentário era adicionado do administrador. GitHub-35283
- Os clientes agora podem fazer pedidos de produtos com uma quantidade menor que um, e a quantidade do produto agora é estritamente tipada como
float
. Anteriormente, como a quantidade do produto era estritamente tipada comoint
, os pedidos com uma quantidade de produto menor que um falhavam com esta mensagem:Some of the products are disabled
. GitHub-36060
- Os reembolsos de envio agora são calculados corretamente quando a opção de configuração Apply discount on prices está definida como including taxes.
- As grades de nota fiscal, remessa e aviso de crédito agora são atualizadas de forma assíncrona depois que os pedidos são arquivados.
- Os pedidos duplicados não resultam mais de solicitações GraphQL simultâneas e idênticas. As cotações agora ficam bloqueadas por até 10 segundos para evitar a criação de pedidos duplicados, e a segunda solicitação falha com estes erros:
The cart isn't active
ouThe order has already been placed and is currently processing
. Este valor de bloqueio pode ser configurado por meio de id para o parâmetrolockWaitTimeout
da classeMagento\Quote\Model\PlaceOrderMutex
. GitHub-36274
- Adicionar um comentário a um pedido arquivado não o retorna mais à grade pedidos não arquivados, mantendo seu status arquivado.
- Os valores de atributo da empresa agora são exibidos conforme esperado nas seções de endereço de entrega e cobrança do fluxo de trabalho de finalização da compra. Anteriormente, os atributos da empresa não eram exibidos corretamente na página de detalhes do pedido porque as lojas não eram definidas corretamente durante a criação do pedido. Os valores de atributo foram armazenados corretamente somente quando a propriedade Mostrar Empresa foi definida como optional para Site Principal em implantações de várias lojas.
- O valor
customer_address_id
agora está definido como esperado para um novo endereço de cobrança quando a caixa de seleção My billing and shipping address are the same está marcada. Uma condição adicional foi introduzida para identificar se o endereço de faturamento é igual ao endereço de entrega antes de definir a ID do endereço do cliente para o endereço de entrega.
- Problemas de simultaneidade com o posicionamento do pedido foram resolvidos. Anteriormente, se dois pedidos eram feitos em navegadores diferentes ao mesmo tempo, ou quase ao mesmo tempo, ambos os pedidos eram atribuídos à mesma ID de pedido. GitHub-35833
- Fazer um pedido faturado automaticamente para um produto gratuito quando a indexação assíncrona estiver ativada agora funciona conforme esperado. Nenhuma entrada é adicionada à tabela
sales_order_grid or sales_invoice_grid
para esses pedidos. Anteriormente, o Adobe Commerce lançou uma exceção porque o aplicativo tentou indexar as grades durante o posicionamento do pedido em vez de depender decron
. GitHub-36334
Page Builder
- Agora você pode usar o recurso de arrastar e soltar do Page Builder para importar imagens em massa para a galeria.
- Problemas com a regra CSS do controle deslizante do Page Builder foram resolvidos. GitHub-34527
- Os atributos
Dropdown
,Text area
eText field
agora estão disponíveis na lista de atributos de produto do Page Builder. Anteriormente, somenteDropdown
eText area
atributos estavam disponíveis.
Pagamento
- O método de pagamento COD não é mais renderizado no fluxo de trabalho de check-out da vitrine eletrônica quando o COD está isento para o país especificado nos endereços de entrega e cobrança. Anteriormente, as definições de configuração de administrador para esse recurso não eram implementadas.
- As informações de pagamento do cofre não são mais exibidas na seção Pagamento do fluxo de trabalho de criação de ordem do Administrador se o comprador não tiver salvo um token. GitHub-33954
- Os preços personalizados não são mais duplicados depois que um desconto é aplicado pela regra de preço do carrinho. GitHub-35154
- O novo status de pedido pendente agora é respeitado conforme esperado quando um pedido é feito usando o método de pagamento Check-out de subtotal zero.
- As configurações de email de convidado agora são respeitadas durante a criação de pedidos para um comprador convidado com o PayPal Express via GraphQL. Anteriormente, o endereço de email definido era substituído pelo endereço de email definido na conta do PayPal.
Braintree
- As IDs de pedido agora são adicionadas às solicitações de liquidação para transações de pagamento.
- O Adobe Commerce não lança mais o seguinte erro quando um comerciante clica em Reports > Braintree Settlement:
Error: Undefined constant Braintree\PaymentInstrumentType::ANDROID_PAY_CARD in /var/www/html/vendor/paypal/module-braintree-core/Ui/Component/Report/Listing/Column/PaymentType.php:49
. GitHub-35434
- A consulta
customerPaymentTokens
não retorna mais tokens Braintree quando o cofre é desativado no Administrador.
- O botão Pay Later e os banners foram habilitados para a Itália e a Espanha.
- Os usuários administradores agora podem criar um pedido ou um novo pedido quando o método de pagamento Braintree está habilitado. Anteriormente, o Adobe Commerce exibia este erro:
report.CRITICAL: Error: Call to a member function getMethodInstance() on null in /app/vendor/paypal/module-braintree-core/Block/Form.php:174
.
- O check-out usando o método de pagamento Braintree agora é concluído com êxito quando o Braintree PayPal é habilitado e o Enable Card Payments é desabilitado. Anteriormente, a barra de progresso nunca era resolvida, e o Adobe Commerce exibia este erro de console:
adapter.js:66 Uncaught TypeError: Cannot read properties of undefined (reading 'clientToken')at Object.getClientToken (adapter.js:66:66)
. GitHub-35961
- Foram implementados os ganchos da Web de proteção contra fraudes, pagamento ACH e método de pagamento local. O gancho da Web de proteção contra fraude é acionado somente se uma decisão de risco tiver sido tomada no Braintree. O gancho da Web ACH é disparado somente depois que um pagamento ACH é atualizado para
settled
ousettlement decline
.
- Os campos de configuração Tagline e Layout foram removidos de todos os botões PayPal na seção Estilo do Administrador.
- A opção de método de pagamento do Cofre de Braintree permanece selecionada no fluxo de trabalho de finalização quando um comprador atualiza seu endereço de faturamento. Anteriormente, o método de pagamento era desmarcado quando o comprador desmarcava o botão My billing and shipping address are the same.
- Os itens de linha agora são passados para transações do PayPal quando a configuração Send Line Items é habilitada do Administrador.
- A lógica de validação no campo Método de pagamento ACH Account Number agora aceita texto de quatro a 17 dígitos.
- A consulta
customerPaymentTokens
não retorna mais tokens de Braintree quando o cofre é desativado do Administrador.
- Os usuários administradores agora podem criar um pedido ou um novo pedido para clientes quando o método de pagamento Braintree estiver ativado. Anteriormente, o Adobe Commerce exibia este erro:
report.CRITICAL: Error: Call to a member function getMethodInstance() on null in /app/vendor/paypal/module-braintree-core/Block/Form.php:174
- Os compradores agora podem usar o método de pagamento Braintree em vitrines onde Enable Card Payments foi desabilitado. Anteriormente, o Adobe Commerce exibia este erro do JavaScript:
_adapter.js:66 Uncaught TypeError: Cannot read properties of undefined (reading 'clientToken')at Object.getClientToken (adapter.js:66:66).
Desempenho
- O indexador de preços agora exclui dados desatualizados, conforme esperado, após substituir registros durante a reindexação parcial de catálogos grandes. Anteriormente, o processo de reindexação removia registros desatualizados antes de substituí-los, o que fazia com que os produtos desaparecessem temporariamente da loja ocasionalmente. GitHub-35616
- O desempenho do comando
bin/magento/setup:upgrade
foi aprimorado. Anteriormente, esse comando recriava os acionadores do banco de dados, o que causava um tempo de inatividade significativo durante a execução do comando. Além disso, os indexadores não voltaram ao modo agendado e permaneceram no modo de salvamento. GitHub-33386
- A atualização dos preços de nível por API agora é executada mais rapidamente. Anteriormente, a atualização dos preços de camada gerava consultas
SELECT
desnecessárias, que atrasavam a execução quando muitos grupos de clientes eram atribuídos a um produto.
- O carregamento de páginas que incluem a lista de produtos do widget de catálogo foi otimizado. Anteriormente, os atributos não globais eram carregados diretamente do banco de dados.
Relatórios
- O relatório Log de administração agora mostra um valor Value before change preciso quando uma regra de categoria é atualizada.
- O relatório de Total de pedidos de e a datas agora é exibido corretamente após a seleção do seletor de datas.
- A constante
ANDROID_PAY_CARD
emBraintree/Ui/Component/Report/Listing/Column/PaymentType.php
substituiuGOOGLE_PAY_CARD
. Isso soluciona problemas com o relatório de Braintree.
Autorizações de devolução de produto (RMA)
- O campo de comentário RMA (Orders > Return) não contém mais espaços em branco redundantes. (As marcas
<textarea>
e<?php
agora estão em uma linha.
- A caixa de seleção Use Config Settings do campo Enable RMA agora salva seu valor conforme esperado quando um produto é salvo.
Resenhas
- Os usuários administradores com acesso restrito a um escopo específico agora podem excluir análises de produtos conforme esperado.
Funções
- Adicionada uma ACL ausente para Stores > Configuration > Services > OAuth. Anteriormente, não era possível definir o acesso a essa configuração do OAuth ao configurar permissões de função.
Pesquisar search-heading
- As pesquisas de cadeias de caracteres entre aspas agora funcionam como esperado quando a configuração Minimum Terms to Match está habilitada. Anteriormente, o Adobe Commerce exibia este erro:
{"error":{"root_cause":[{"type":"parsing_exception","reason":"[match_phrase] query does not support [minimum_should_match]' ...
.
- O filtro de pesquisa Ponto de inscrição para registros de clientes nas grades do cliente da ordem de venda agora funciona conforme esperado durante a criação da ordem.
- A qualidade das sugestões de pesquisa foi aprimorada para consultas de várias palavras.
- Os resultados da pesquisa agora incluem saídas de opções indisponíveis para todos os produtos disponíveis quando Display Out Of Stock Products está habilitado GitHub-36055
Envio
- As taxas de envio para FedEx, USPS e UPS são calculadas corretamente quando a regra Carrinho de remessa gratuita é definida para corresponder apenas a um subconjunto de itens no carrinho.
- A página Administração de remessa não exibe mais a opção de remessa gratuita quando o total do pedido é menor que o valor mínimo do pedido especificado que é elegível para remessa gratuita. GitHub-33697
- A Adobe Commerce agora respeita a definição de configuração Show Company do cliente administrador ao exibir o endereço de entrega ou do cliente. Quando esta configuração estiver desabilitada, a empresa de remessa não será mais incluída na remessa, no endereço do cliente ou no registro de pedido do banco de dados. Anteriormente, as informações eram exibidas apesar da desativação da configuração. GitHub-33729
- Remoção de uma operação de salvamento supérflua em cotações ao estimar o envio.
- O escopo
storeId
agora é aplicado diretamente de$request->getStoreId()
para garantir que o escopo não seja perdido quando uma cotação for criada por um usuário administrador. Anteriormente, ocorriam problemas ocasionalmente com métodos de envio quando uma cotação era criada do Administrador usando módulos de terceiros.
- URLs compatíveis com SEO agora são geradas para produtos cuja configuração
url_key
é substituída no nível da exibição da loja. Anteriormente, os URLs de produto de categoria não eram redirecionados para URLs amigáveis para SEO.
- O Adobe Commerce não lança mais um erro de valor mínimo do pedido quando um desconto é aplicado aos custos de envio.
- Os reembolsos de envio agora são calculados corretamente quando o imposto é aplicado após um desconto ter sido aplicado ao envio.
- Todas as promoções aplicáveis a um carrinho solicitado por meio da consulta
cart
do GraphQL são retornadas. As promoções incluem descontos de item de linha, regras/descontos de carrinho, cupons, cartões-presente e crédito de loja. GitHub-35545
- Adicionados os tipos
price_excl_tax
eprice_excl_tax
à saída da mutaçãosetShippingMethodsOnCart
. GitHub-31206
- IDs de envio exclusivas agora são passadas nas respostas do GraphQL, conforme esperado, com detalhes de envio de pedidos enviados para vários endereços para consultas do GraphQL.
Estágios
- O reagendamento da data de término de uma atualização de preparo não resulta mais em erro depois que a atualização é concluída. Anteriormente, os administradores não podiam abrir páginas de produtos e grades de produtos, e o Adobe Commerce emitiu este erro:
report.CRITICAL: Exception: Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "1" already exists
.
- O painel de preparação agora exibe o número total correto de registros, e a paginação do painel agora funciona conforme esperado. Anteriormente. o painel exibiu no máximo 20 registros.
- As visualizações de preparo de conteúdo agora carregam mais rápido em implantações com muitas lojas. A opção Visualizar reindexação agora reindexa somente os armazenamentos selecionados.
- Os produtos agora podem ser adicionados ao carrinho de compras no modo de visualização de agendamento. A atualização de links de navegação estrutural no modo de visualização de agendamento com esses parâmetros corrigiu esse problema:
version
,timestamp
esignature
.
Imposto
- A configuração Display Zero Tax Subtotal agora é aplicada conforme esperado para pedidos em implantações que oferecem vários métodos de envio. Anteriormente, o campo de imposto zero estava visível na página do carrinho durante o check-out antes de um método de envio ser selecionado, mesmo quando essa configuração estava desativada. GitHub-35561
- O Adobe Commerce agora pode exibir produtos agrupados com impostos na página de categoria da loja em implantações executando o PHP 8.1. Anteriormente, o Adobe Commerce não exibia uma lista de produtos e gerava esta exceção:
main.CRITICAL: Exception: Deprecated Functionality: ucfirst(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/m24/vendor/magento/module-tax/Pricing/Render/Adjustment.php on line 188 in /var/www/m24/vendor/magento/framework/App/ErrorHandler.php:61
. GitHub-35500
- Os comerciantes não podem mais mover uma atualização agendada para outra atualização que contenha a mesma ID de regra. Anteriormente, as atualizações de agendamento para regras de preço do carrinho criavam agendamentos duplicados quando uma atualização era movida para outra atualização que continha a mesma ID de regra.
- A atribuição automática de grupo de clientes agora funciona quando não há ID de IVA associada ao endereço do cliente. Se o endereço não contiver uma ID de IVA, ele será tratado como pertencente a um cliente não registrado para IVA e a Adobe Commerce alterará o grupo de clientes para um grupo não-IVA. Anteriormente, quando Enable Automatic Assignment to Customer Group era habilitado, a conta do cliente não era automaticamente atribuída ao
customerGroup
quando a ID de IVA era excluída da conta do cliente.
- Os blocos dinâmicos corretos agora são mostrados para regras de catálogo em etapas no modo de visualização de preparo. Anteriormente, blocos dinâmicos não relacionados eram exibidos.
- Agora, vários impostos são renderizados corretamente na seção Resumo de Impostos de NFFs e avisos de crédito quando a entrega múltipla é aplicada durante a finalização da compra.
- Os descontos não são mais aplicados quando um subtotal de pedido, incluindo imposto junto com o valor de Imposto fixo do produto excede a condição de regra do carrinho na página do carrinho. Anteriormente, os descontos eram aplicados mesmo quando o total excedia a condição da regra do carrinho.
- Agora você pode especificar um
vat_id
ao usar o GraphQL para adicionar ou atualizar o endereço de um comprador convidado.
Teste
- Correção de erros de testes de unidade para diferentes versões das bibliotecas
ICU
elibxml
.
- Os desenvolvedores agora podem instruir o sistema a executar uma correção de dados em uma visualização de loja específica. O novo parâmetro opcional
scope
aceita umstring
que corresponde ao alias de fixação de armazenamento.
- Adição da capacidade de gerar várias instâncias de uma fixação de dados usando o parâmetro
count
opcional.
- Removida a função
array_first
não nativa das dependências de desenvolvimento na estrutura MFTF.
Traduções e códigos de idiomas
- A tradução em linha agora funciona corretamente com caracteres especiais, incluindo caracteres unicode estendidos em frases localizadas em tags SCRIPT. Anteriormente, os caracteres japoneses eram renderizados incorretamente no script editado ao usar a tradução em linha.
- O caractere
ñ
em um nome de produto agora é convertido emn
durante a geração da chave de URL.
- A saída da execução de
bin/magento i18n:collect-phrases
agora inclui traduções de modelo de email emdepend
construções, conforme esperado. GitHub-35449
- Agora, os caracteres japoneses podem ser inseridos diretamente no conjunto de atributos da página do produto (caixa de combinação). Anteriormente, a inserção direta de caracteres japoneses nessa caixa de combinação resultava na alteração ou exclusão de caracteres ao executar o navegador Firefox no MacOS. O atributo HTML
textInput
, que pode lidar melhor com a conversão de caracteres japoneses em todos os navegadores, substituiu os atributosValue
evalueUpdate
.
- O método
getOptions
agora busca corretamenteprice
valores de rótulo de atributo com base na exibição de armazenamento. Anteriormente, o atributoprice
era convertido durante operações GraphQL para a exibição de armazenamento incorreta.
IU
- A moeda específica do site agora é usada conforme esperado para colunas de Preço especial, Custo e MSRP na grade de produtos do administrador. Anteriormente, o símbolo de moeda correto não era exibido na grade de produto do catálogo de administração ao ser filtrado pela exibição da loja por um preço especial.
- A funcionalidade arrastar e soltar das opções personalizadas do produto agora funciona conforme esperado. Agora é possível mover uma opção personalizável de uma página para outra quando há várias páginas disponíveis na grade de opções personalizáveis.
- Os gráficos do painel do administrador agora exibem intervalos de tempo YTD do início do ano civil atual para a data atual, conforme esperado. Anteriormente, os intervalos de datas eram incluídos por mais de 12 meses.
- Um favicon padrão ausente na página inicial da loja foi adicionado. GitHub-35493
- O Administrador agora exibe com êxito a data de logon mais recente de cada usuário administrador. Anteriormente, quando um usuário administrador fazia logon no Admin pela primeira vez, um valor de data de logon vazio era exibido na grade de usuários do Admin.
- O recurso de modelo de email de visualização (Marketing > Communications > Email Templates) agora exibe os modelos corretamente. Anteriormente, a imagem de visualização era truncada. GitHub-35697
- Adição da classe
new-shipping-address-modal
para oferecer suporte ao estilo do novo modal de endereço de entrega.
- Adição de texto informativo abaixo do campo de entrada
Storefront Properties
do atributoSearch Weight
no Administrador Stores > Attributes > Product.
- As visualizações de email agora abrem em uma guia separada, em vez de em uma janela pop-up, que fornece uma visualização mais ampla do conteúdo do email. Anteriormente, o conteúdo do email era truncado.
- A função de filtro para a grade de funções de usuário (Administrador System > Permissions > User roles > Administrators) agora funciona conforme esperado. O valor da matriz agora é manipulado separadamente. Anteriormente, ao tentar inserir uma consulta nesta grade, o Adobe Commerce exibia este erro de console e a página não carregava:
Uncaught TypeError: Cannot read properties of null
. GitHub-35993
- A validação para valores de atributo foi adicionada ao criar um cliente por meio da API REST. O processo de criação agora falha quando valores de atributos inválidos são fornecidos. Anteriormente, não havia validação para gênero, que não é um campo obrigatório. Durante a criação do cliente, o valor passado para o gênero foi salvo na tabela
customer_entity
.
- Os endereços adicionados durante o check-out agora mantêm o formato esperado. Anteriormente, as linhas em branco eram ignoradas.
- Alterar a exibição de grade de colunas da grade de produtos e selecionar novas colunas para uma exibição personalizada não aciona mais uma ação Selecionar todas as colunas da grade. Anteriormente, a caixa de coluna desaparecia e os produtos na grade eram selecionados ou desmarcados. GitHub-36302
- Os usuários administradores agora podem limpar o log de tarefas concluídas pelo administrador com êxito. Anteriormente, o Administrador exibia este erro:
Something went wrong
. GitHub-36255
- A configuração de Cabeçalho de tema
Welcome Text
agora pode conter um caractere de aspas simples. Anteriormente, o Adobe Commerce exibia este erro do JavaScript:Uncaught SyntaxError: Unable to process binding "ifnot: function(){return customer().fullname }"
.
Substituições de URL
- Alterar a visibilidade do produto para Not Visible Individually no escopo global Todas as Exibições de Loja agora remove apenas substituições de URL para exibições de loja que não substituíram o atributo de visibilidade. Alterar a visibilidade do produto dessa maneira também gera regravações de URL para todas as exibições da loja, incluindo aquelas que substituíram o atributo de chave de URL (mas não a configuração de visibilidade). Anteriormente, as regras de regravação de URL não eram aplicadas quando as configurações de visibilidade eram alteradas.
Visual Merchandiser
- Não é mais possível alterar manualmente as posições dos produtos nas listagens de categoria do Visual Merchandiser quando os produtos são correspondidos por regra.
- Os usuários administradores com acesso restrito a apenas uma loja não podem mais arrastar e soltar produtos em uma categoria no Visual Merchandiser. Em vez disso, agora eles podem usar a coluna Position para reorganizar a posição do produto. Anteriormente, esses usuários podiam alterar a posição do produto em uma categoria somente ao arrastar e soltar.
- A seção Produtos na categoria da página de edição de categoria agora exibe a quantidade correta de produtos configuráveis. A coluna de tabela correta agora é usada para recuperar a quantidade de produtos configuráveis.
Estrutura da API da Web
- A API REST
DELETE /rest/V1/products/:sku/media/:entryId
agora retornará uma mensagem de erro se a imagem não for removida do produto porque está atribuída a uma função em outras exibições da loja. Anteriormente, a API retornava uma resposta bem-sucedida mesmo quando a imagem não era removida com sucesso.
- Os comerciantes agora podem usar a REST API para criar um memorando de crédito para um pedido com total geral zero. Anteriormente, o Adobe Commerce exibia este erro:
The order does not allow a credit memo to be created. The credit memo's total must be positive. We can't create a credit memo for the invoice/order
.
- A página de edição do produto Admin agora reflete com precisão as atribuições de um produto depois que a atribuição do site do produto foi alterada usando a REST API. GitHub-36281
- IDs de opção duplicadas não podem mais ser incluídas para atributos de seleção múltipla durante solicitações em massa da API REST para atualizar produtos. Anteriormente, você podia definir IDs de opção duplicadas para atributos de seleção múltipla ao enviar uma solicitação de API em massa para atualizar um produto. Quando esse atributo de seleção múltipla foi configurado para inclusão na navegação em camadas, a indexação EAV falhou com um erro
Duplicate entry
.
- Os nomes de produtos nos carrinhos de compras agora usam os valores de exibição da loja especificados conforme esperado. Anteriormente, os nomes de produtos no carrinho sempre retornavam o valor padrão de exibição da loja nas respostas do carrinho da API REST.
- Os valores de opção personalizados do item de carrinho agora podem ser atualizados usando a API REST. GitHub-35768
- Solicitações de API em massa para mais de 20
sourceItems
foram concluídas com êxito nas implantações em que o Inventário está habilitado.
- O serviço de moeda Fixer agora funciona conforme esperado com chaves geradas via ApiLayer e as taxas de moeda são exportadas corretamente. Anteriormente, o Adobe Commerce emitia um erro quando um comerciante tentava importar taxas de moeda por meio do Administrador.
- Agora você pode usar a solicitação da API REST
/rest/V1/bulk?searchCriteria[filter_groups]
para consultar operações em massa por critérios de pesquisa. Anteriormente, o seguinte erro era retornado:report.CRITICAL: Report ID: webapi-624bbb1db96c4; Message: Item (Magento\AsynchronousOperations\Model\Operation) with the same ID "0" already exists.
- Os preços dos produtos agora são atualizados corretamente nas páginas de pesquisa do catálogo de administração e loja usando a API Gerenciar preço base. GitHub-33767
Lista de desejos
- Os compradores agora podem adicionar produtos à lista de desejos depois de fazer logon. Anteriormente, devido a problemas com a validação da chave de formulário após o logon, a chave de formulário enviada com a solicitação de adição à lista de desejos era invalidada.
- Os produtos agora são adicionados conforme esperado à lista de desejos da lista de produtos e páginas de exibição depois que um cliente convidado confirma sua conta a partir de um email de confirmação. Anteriormente, os produtos não eram adicionados à lista de desejos após a confirmação da conta.
- A consulta
addProductsToWishlist
agora retorna uma mensagem de erro informativa quando um comprador tenta adicionar um item a uma lista de desejos com um valor inválido para a opção personalizadaselect
do produto. Anteriormente, a validação do servidor para o valor da opção personalizada suspensa estava ausente, o que resultava em um valor inválido no banco de dados. Como resultado, o ponto de extremidade retornou este erro interno do servidor:GraphQL endpoint returns Internal server error with "Call
.
Problema conhecido
Problema: rótulos de regra de vendas em etapas podem ser incompatíveis após uma atualização para o Adobe Commerce 2.4.6 ou posterior de versões de produto anteriores à 2.4.5. Solução alternativa: aplique ACSD-50625_2.4.5-P1.patch durante a atualização antes da etapa Atualizar metadados. Consulte o artigo salesRules labels issues when upgrade from versions < 2.4.5 Knowledge Base.
Etapas gerais para resolver esse problema:
- Baixe o patch necessário. Consulte o artigo salesRules labels issues quando atualizar de versões < 2.4.5 da Knowledge Base.
- Siga as etapas de atualização descritas na fase Gerenciar pacotes do processo de atualização Executar uma atualização.
- Aplique este patch durante a atualização após a fase Gerenciar pacotes e antes da fase Atualizar metadados. Consulte Como aplicar um patch de compositor fornecido pelo Adobe.
- Conclua o processo de atualização.
Problema: não é possível criar um memorando de crédito quando o frete gratuito está habilitado (Stores > Configuration > Sales > Delivery Methods) e o preço de envio exibido inclui imposto. Quando você tenta criar um memorando de crédito, o Adobe Commerce lança esta exceção: "Division by zero".vendor/magento/module-sales/Model/Order/Creditmemo/Total/Tax.phpLine 139
. GitHub-36800
Solução alternativa: um hot fix para esse problema está disponível agora. Vá para Ferramenta de Patches de Qualidade: Pesquise por patches e pesquise pelo patch ACSD-50814.
Contribuições do parceiro
A tabela a seguir destaca as contribuições feitas pelos Parceiros. Esta tabela lista o Parceiro que contribuiu com a solicitação de pull, o número da solicitação de pull externa e o número do problema do GitHub associado a ela (se disponível).
Contribuições individuais do contribuinte
A tabela a seguir identifica as contribuições dos membros da comunidade. Esta tabela lista o membro da comunidade que contribuiu com a solicitação de pull, o número da solicitação de pull externa e o número do problema do GitHub associado a ela (se disponível).
Requisitos do sistema
Nossa pilha de tecnologia é construída em PHP e MySQL. Para obter mais informações, consulte Requisitos do Sistema.
Instruções de instalação e atualização
Você pode instalar o Adobe Commerce 2.4.6 usando o Composer.