Destaques do Magento Open Source 2.4.7
Procure os seguintes destaques nesta versão.
Aprimoramentos de segurança
Esta versão inclui as mesmas correções de segurança e melhorias de segurança da plataforma incluídas no Adobe Commerce 2.4.6-p5, 2.4.5-p7 e 2.4.4-p8. Consulte o Boletim de Segurança do Adobe para obter a discussão mais recente sobre esses problemas corrigidos.
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:
- Lista de permissões de IP
- autenticação de dois fatores
- uso de uma VPN
- uso de um local único em vez de
/admin
- higiene de senha boas
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.
-
Alterações no comportamento de chaves de cache não geradas:
- As chaves de cache não geradas para blocos agora incluem prefixos que diferem dos prefixos para chaves geradas automaticamente. (As chaves de cache não geradas são chaves definidas por meio da sintaxe de diretiva de modelo ou pelos métodos
setCacheKey
ousetData
.) - As chaves de cache não geradas para blocos agora devem conter apenas letras, dígitos, hifens (-) e caracteres de sublinhado (_).
- As chaves de cache não geradas para blocos agora incluem prefixos que diferem dos prefixos para chaves geradas automaticamente. (As chaves de cache não geradas são chaves definidas por meio da sintaxe de diretiva de modelo ou pelos métodos
-
Limitações sobre o número de códigos de cupom gerados automaticamente. O Magento Open Source agora limita o número de códigos de cupom gerados automaticamente. O máximo padrão é 250.000. Os comerciantes podem usar a nova opção de configuração Code Quantity Limit (Stores > Settings:Configuration > Customers > Promotions) para evitar que o sistema fique sobrecarregado com muitos cupons.
-
Otimização do processo de geração de URL de Administrador padrão. A geração do URL de administrador padrão foi otimizada para aumentar a aleatoriedade, o que torna os URLs gerados menos previsíveis.
-
Uma nova configuração de cache de página inteira pode ajudar a reduzir os riscos associados ao ponto de extremidade HTTP
{BASE-URL}/page_cache/block/esi
. Esse endpoint oferece suporte a fragmentos de conteúdo irrestritos e carregados dinamicamente de manipuladores de layout e estruturas de bloco do Commerce. A nova definição de configuração Handles params size define o valor do parâmetrohandles
desse ponto de extremidade, que determina o número máximo permitido de identificadores por API. O valor padrão dessa propriedade é 100. Os comerciantes podem alterar esse valor de Admin (Stores > Settings:Configuration > System > Full Page Cache > Handles params size). Consulte Configurar o aplicativo Commerce para usar o Verniz. -
Foi adicionado o suporte à Subresource Integrity (SRI) para atender aos requisitos PCI 4.0 para verificação da integridade do script nas páginas de pagamento. O suporte à Subresource Integrity (SRI) fornece hashes de integridade para todas as JavaScript ativos residentes no sistema de arquivos local. O recurso SRI padrão é implementado apenas nas páginas de pagamento para as áreas de Administração e vitrine eletrônica. No entanto, os comerciantes podem estender a configuração padrão para outras páginas. Consulte Integridade de sub-recursos no Guia do Desenvolvedor do Commerce PHP.
-
Alterações na Política de Segurança de Conteúdo (CSP)—Atualizações e aprimoramentos de configuração nas Políticas de Segurança de Conteúdo (CSPs) da Adobe Commerce para atender aos requisitos da PCI 4.0. Para obter detalhes, consulte Políticas de Segurança de Conteúdo no Guia do Desenvolvedor do Commerce PHP.
-
A configuração padrão da CSP para páginas de pagamento para o Administrador do Commerce e áreas de vitrine agora é o modo
restrict
. Para todas as outras páginas, a configuração padrão é o modoreport-only
. Nas versões anteriores à 2.4.7, o CSP foi configurado no modoreport-only
para todas as páginas. -
Adição de um provedor nonce para permitir a execução de scripts integrados em uma CSP. O provedor nonce facilita a geração de cadeias de caracteres nonce exclusivas para cada solicitação. As cadeias de caracteres são anexadas ao cabeçalho da CSP.
-
Adição de opções para configurar URIs personalizados para relatar violações de CSP para a página Criar pedido no Admin e a página Check-out na loja. Você pode adicionar a configuração do Administrador ou adicionando o URI ao arquivo
config.xml
.OBSERVAÇÃO
Atualizar a configuração da CSP para o modorestrict
pode bloquear scripts incorporados existentes nas páginas de pagamento na Administração e na loja, o que causa o seguinte erro do navegador quando uma página é carregada:Refused to execute inline script because it violates the following Content Security Policy directive: "script-src
. Corrija esses erros atualizando a configuração da lista de permissões para permitir os scripts necessários. Consulte Solução de problemas no Guia do Desenvolvedor do Commerce PHP.
-
-
Limitação de taxa nativa para informações de pagamento transmitidas por meio de APIs REST e GraphQL. Os comerciantes agora podem configurar a limitação de taxa para as informações de pagamento transmitidas usando REST e GraphQL. Essa camada adicional de proteção suporta a prevenção de ataques de cartões e potencialmente diminui o volume de ataques de cartões que testam muitos números de cartão de crédito de uma só vez. Essa é uma alteração no comportamento padrão de um endpoint REST existente. Consulte Limitação de taxa.
-
O comportamento padrão da consulta GraphQL isEmailAvailable e do ponto de extremidade REST (V1/customers/isEmailAvailable) foi alterado. Por padrão, as APIs agora sempre retornam
true
. Os comerciantes podem habilitar o comportamento original definindo a opção Habilitar Logon de Check-out de Convidado no Administrador parayes
, mas isso pode expor as informações do cliente a usuários não autenticados.
Aprimoramentos na plataforma
As atualizações de plataforma para esta versão melhoram a conformidade com as práticas recomendadas de segurança mais recentes.
O Magento Open Source 2.4.7 inclui as seguintes atualizações de plataforma:
- Compatibilidade com o PHP 8.3. Esta versão apresenta suporte para o PHP 8.3. O Magento Open Source agora suporta o PHP 8.3 e 8.2. O PHP 8.2 será compatível até sua data de fim de serviço (EOS) em dezembro de 2025. Depois de dezembro de 2025, todos os comerciantes que executam implantações 2.4.7 devem migrar para o PHP 8.3.
O Magento Open Source 2.4.7 ainda é compatível com o PHP 8.1 apenas para fins de atualização. O PHP 8.1 não é suportado e não é recomendado. O código principal do Magento Open Source 2.4.7, todas as extensões agrupadas e todas as extensões e serviços SaaS de propriedade da Adobe são compatíveis com o PHP 8.3.
-
Suporte a RabbitMQ 3.13. Esta versão é compatível com a versão mais recente do RabbitMQ 3.13. A compatibilidade permanece com o RabbitMQ 3.11 e 3.12, que é compatível até agosto de 2024 e dezembro de 2024, respectivamente, mas a Adobe recomendou usar o Magento Open Source 2.4.7 somente com o RabbitMQ 3.13.
-
Composer 2.7.x. A compatibilidade com o Composer 2.2.x permanece.
-
Suporte ao cache de verniz 7.4. Esta versão é compatível com a versão mais recente do Varnish Cache 7.4. A compatibilidade permanece com as versões 6.0.x e 7.2.x, mas recomendamos usar o Magento Open Source 2.4.7 somente com o Cache do Varnish versão 7.4 ou versão 6.0 LTS.
-
Compatibilidade com o Elasticsearch 8.11
-
Suporte do OpenSearch 2.12 e OpenSearch 1.3
-
Redis 7.2
-
A biblioteca
extjs
foi substituída pela versão mais recente dejsTree
. -
A biblioteca
jquery/fileUpload
foi removida.
Todas as bibliotecas JavaScript e dependências NPM no código principal do Magento Open Source foram atualizadas para as versões mais recentes disponíveis. Todas as dependências da biblioteca Laminas foram atualizadas para a versão mais recente que é compatível com o PHP 8.3.
Atualizações adicionais
-
O gateway da API XML do Commerce UPS foi migrado para a nova API REST do Commerce UPS para oferecer suporte às atualizações que o UPS está fazendo no modelo de segurança da API. (O UPS está implementando um modelo de segurança OAuth 2.0 (tokens de portador) para todas as APIs.) Todas as APIs XML do Commerce UPS anteriores foram removidas da base de código do Magento Open Source 2.4.7.
-
A integração do Magento Open Source com o FedEx foi migrada dos serviços Web WSDL herdados do FedEx para as APIs RESTful mais recentes do FedEx. O WSDLS de Rastreamento de Serviços Web da FedEx, Validação de Endereço e Validação de Códigos Postais será desativado em maio de 2024.
-
Adição de suporte para o novo método de envio USPS Ground Advantage. Essa é uma integração imediata com o novo método de envio do USPS, o USPS Ground Advantage, lançado em julho de 2023. Essa nova integração pode ser usada para recuperar taxas de envio e agendar entregas e devoluções por meio do serviço de envio do USPS. O método de envio USPS Ground Advantage substitui esses métodos de envio, que foram retirados quando o método de envio USPS Ground Advantage foi lançado:
- USPS Retail Ground
- Serviço de pacote de primeira classe
- Selecionar terra do pacote
-
Os módulos de envio do Temando foram removidos da base de código principal do Magento Open Source. Este recurso foi descontinuado no Magento Open Source 2.4.4.
Aprimoramentos de desempenho e escalabilidade
O Magento Open Source 2.4.7 inclui os seguintes aprimoramentos no desempenho e na escalabilidade do Magento Open Source:
-
Gerenciamento de indexador aprimorado. O novo comando
indexer:set-status
dá suporte ao gerenciamento dinâmico do status do indexador. Usuários administradores podem usar este comando para alterar o status do indexador parasuspended
,invalid
ouvalid
. Esse recurso é particularmente útil para gerenciar o desempenho do sistema durante operações extensas em massa, como importações ou atualizações de produtos, permitindo o controle sobre quando os indexadores são acionados automaticamente pelos trabalhos cron do sistema. Consulte Gerenciar os indexadores. -
Página de listagem de produtos complexos com muitas opções. O tempo de carregamento melhorou para páginas da lista de produtos que incluem produtos complexos com mais de 100 opções. O desempenho das solicitações do GraphQL para listar produtos por categoria também melhorou.
-
Melhorias no desempenho da regra de vendas. Desempenho aprimorado de implantações corporativas com muitas (aproximadamente 100.000) regras de vendas ativas. As implantações corporativas que implementam promoções com muita frequência implantam muitas regras de carrinho ativas. Esses tipos de implantações empresariais que executam o Magento Open Source 2.4.7 não notarão nenhuma degradação de desempenho relacionada ao número de regras de preço do carrinho configuradas durante as operações de finalização.
-
Operações de salvamento mais rápidas de configurações no nível do armazenamento para implantações com muitos armazenamentos. Salvar as definições de configuração em implantações com mais de 500 armazenamentos pode ser demorado. O novo módulo Configuração Assíncrona habilita operações assíncronas de salvamento de configuração executando um trabalho cron que usa um consumidor para processar a operação de salvamento em uma fila de mensagens. AsyncConfig está desabilitado por padrão.
-
Geração mais rápida do cache de configuração para configurações grandes. O comando
bin/magento cache:clean config
agora pré-aquece o cache de configuração quando ele está habilitado. Isso reduz o tempo de inatividade necessário para gerar o cache de configuração para configurações grandes. As operações de salvamento de configuração não limpam mais o cacheconfig_scopes
antes de gravar dados no cache, o que também reduz o tempo que outras solicitações ficam bloqueadas enquanto os dados de configuração são gravados.
Braintree
-
Vaulted PayPale Pay Later Alterações—Os clientes conectados que já abrigaram/armazenaram sua conta do PayPal têm a opção de pagar com:
- Pay Now (sem precisar entrar na conta PayPal, o usuário pode pagar com seu cartão padrão)
- Pagar com uma fonte de financiamento diferente
- Pague com uma conta diferente
- PayPal Pay Later ou PayPal Credit botão
-
Suporte 3DS paraGoogle Pay— Suporte de verificação 3DS incluído para cartões Google Pay não tokenizados. Consulte a documentação Braintree para obter mais informações.
-
Vault Apple Pay Payments— Permitir que clientes conectados abobrem/armazenamento seus Apple Pay pagamentos aos Comércio armazenamento conta usar em transações futuras. Isso reduz o número de etapas no check-out e cria uma experiência de check-out mais rápida para o cliente recorrente.
-
Vault Google Pay Payments— Permitir que clientes conectados abobrem/armazenamento seus Google Pay pagamentos aos Comércio armazenamento conta usar em transações futuras. Isso reduz o número de etapas no check-out e cria um experiência de check-out mais rápido para o cliente que retorna.
-
Vault Venmo Payments— Permitir que clientes conectados abobrem/armazenamento suas Venmo contas às Comércio armazenamento conta usar em transações futuras. Isso reduz o número de etapas no check-out e cria um experiência de check-out mais rápido para o cliente que retorna.
-
Vault ACH Payments— Permitir que clientes conectados abobrem/armazenamento os pagamentos da ACH aos Comércio armazenamento conta usar em transações futuras. Isso reduz o número de etapas no check-out e cria uma experiência de check-out mais rápida para o cliente recorrente.
-
Express Paymentbotões na parte superior do check-out—Para incentivar uma experiência de check-out mais rápida, introduzimos Express Payment opções no início do check-out. Os clientes agora podem pagar por pagamentos de PayPal, PayPal Pay Later, Apple Pay e Google Pay Express.
-
Notas de versão e links de suporte do Braintreena Configuração de administração—Os comerciantes agora podem vincular diretamente do Administrador do Commerce ao suporte da Braintree e notas de versão online.
-
Suporte do GraphQL para todos os métodos de pagamento Braintree excetoVenmo — Mais configurações são expostas na API do GraphQL. Isso é particularmente útil para aplicativos headless.
-
Vaultingpagamentos na área de conta - Os clientes conectados agora podem abobadá-armazenamento novos cartões de crédito/débito e PayPal contas na área de conta do Cliente. Anteriormente, os clientes só podiam abobadar/armazenamento ao salvar seus pagamentos para uso posterior ao concluir uma transação no check-out, agora eles podem abotoar novos cartões de crédito/débito e contas PayPal sem precisar criar uma nova transação.
-
Transações sem atritos— As transações sem atritos aceleram o processo de pagamento, reduzindo o número de cliques/etapas do cliente para concluir uma transação cartão de crédito/débito online. Anteriormente (quando o 3DS era ativado), cada cliente enfrentava o desafio do 3DS. Com o novo recurso Transações sem atritos, os clientes só são desafiados para o 3DS quando o banco o solicita. Isso reduz o abandono do carrinho, aumenta as taxas de conversão e resulta em mais vendas.
-
Webhooks de contestação — Quando um cliente contesta uma transação no Braintree, o status da contestação agora é passado para o Commerce. Ela pode ser pesquisada na grade Sales > Order e está anexada a cada pedido.
GraphQL
O Magento Open Source 2.4.7 inclui recursos aprimorados de armazenamento em cache do GraphQL, suporte a esquemas do GraphQL para atributos personalizados, suporte para cancelamento de pedidos headless e armazenamento em cache do resolvedor aprimorado.
-
Gerenciamento mais flexível do carrinho. A mutação
clearCart
agora limpa o conteúdo de um carrinho de compras especificado em uma única ação. Ele substitui a mutaçãoclearCustomerCart
, que foi descontinuada. -
Melhorias em criar mutações no carrinho. A mutação
createGuestCart
foi adicionada para substituir a mutaçãocreateEmptyCart
obsoleta. Anteriormente, se você usava ocreateEmptyCart
, não era possível determinar se o carrinho era para um cliente convidado ou conectado. -
Os itens do pedido agora incluem imagens do produto. O
OrderItemInterface
expõe as imagens do produto, o que permite que as imagens sejam associadas a produtos solicitados e carregadas de forma mais eficiente. GitHub-32369 -
Suporte expandido para o cache de resolvedor. Os seguintes resolvedores de consulta do GraphQL agora podem ser armazenados em cache no cache de resultados do GraphQL Resolver, que melhora o desempenho quando as consultas são enviadas com solicitações POST:
Magento\CustomerGraphQl\Model\Resolver\Customer::resolve
Magento\CustomerGraphQl\Model\Resolver\CustomerAddress::resolve
Magento\CustomerGraphQl\Model\Resolver\IsSubscribed::resolve
Magento\CatalogGraphQl\Model\Resolver\Product\MediaGallery::resolve
-
Suporte para cancelamento de pedido. A mutação cancelOrder permite que um cliente cancele uma solicitar, passando seu identificador e um motivo de cancelamento.
- Os campos novos
order_cancellation_enabled
eorder_cancellation_reasons.description
de resposta nastoreConfig
query de cancelamento de usuário iniciadas solicitar. Consulte Consultar a configuração de cancelamento solicitar da armazenamento
- Os campos novos
-
Suporte aprimorado para atributos personalizados. O suporte ao atributo personalizado do GraphQL foi aprimorado com o enriquecimento dos dados da API para oferecer suporte a todos os tipos de atributos. O esquema de atributos do EAV do GraphQL agora oferece suporte à extensão de atributos do cliente e objetos de endereço do cliente no Administrador e à recuperação deles usando o GraphQL. As áreas específicas de aprimoramento incluem:
- suporte estendido/adicionado a atributos personalizados para áreas específicas, como cliente e endereço do cliente
- adição de cache para atributos personalizados
- suporte aprimorado a atributos personalizados existentes para produtos
-
Os recursos aprimorados de cache do GraphQL melhoram a velocidade de carregamento da página. O recurso de armazenamento em cache foi adicionado a essas consultas, melhorando a velocidade dos página tempo de carregamento para a maioria das páginas PWA:
-
Desempenho de analisador GraphQL aprimorado. O desempenho do analisador do GraphQL foi aprimorado ao reduzir o número de vezes que o método de análise é chamado por solicitação. Agora é chamado uma vez. Anteriormente, o analisador era chamado pelo menos três vezes.
Novos campos para mutações existentes
-
Adição do campo
quickorder_active
às consultas storeConfig e availableStores. Este campo indica se o recurso de pedido rápido está habilitado. -
Adição dos seguintes campos às mutações
setBillingAddressOnCart
esetShippingAddressesOnCart
:fax
middlename
prefix
suffix
Novas consultas e mutações
attributeForms
consultaattributesList
consulta- Consulta
guestOrder
- Consulta
guestOrderByToken
- Consulta
recaptchaFormConfig
cancelOrder
mutação- Consulta
customAttributeMetadataV2
- Mutação de
applyCouponsToCart
- Mutação de
confirmEmail
- Mutação de
createGuestCart
- Mutação de
estimateShippingMethods
- Mutação de
estimateTotals
- Mutação de
removeCouponsFromCart
Consultas e mutações obsoletas
clearCustomerCart
mutaçãocreateEmptyCart
mutação- Consulta
attributesMetadata
- Consulta
customAttributeMetadata
Inventory management
O Inventory management (v1.2.7) fornece ferramentas para gerenciar o inventário de produtos. Esse recurso desenvolvido pela comunidade é fornecido com o código principal do Adobe Commerce e do Magento Open Source.
Metappackage da extensão do Magento Open Source
Esta versão inclui o metapackage de extensão do Magento Open Source v1.0.0, que agrupa automaticamente extensões selecionadas do Magento Open Source com esta versão principal. A versão desta extensão incluída neste metapackage é instalada quando o composer update
é executado, simplificando o processo de atualização da extensão ao atualizar para a versão principal mais recente. Essa extensão mantém uma programação de lançamento independente.
O metapackage de extensão do Magento Open Source para Magento Open Source 2.4.7 inclui estas extensões:
As versões futuras deste metapackage de extensão conterão extensões adicionais.
PWA Studio
O PWA Studio v14.0 é compatível com o Magento Open Source 2.4.7-beta1. Ele inclui várias melhorias para melhorar a acessibilidade. Para obter informações sobre 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 principais compatíveis do Magento Open Source.
Estrutura da API da Web
Esta versão apresenta dois novos endpoints REST que fornecem uma solução alternativa para uma limitação com os endpoints da API REST GET
e POST V1/products/attributes
. Esses endpoints retornam o mesmo valor para o is_filterable
atributo para as Filterable(with results)
opções e Filterable(no results)
as opções da opção Use in Layered Navigation . (O is_filterable
propriedade do atributo é do tipo Boolean
, que não permite definir este propriedade como Filterable(no results)
.)
Dois novos endpoints REST foram implementados como uma solução alternativa:
PUT /V1/products/attributes/{attributeCode}/is-filterable/{isFilterable}
. Parâmetros de caminho:attributeCode
(String
) eisFilterable
(int
valores são: 0 é Não; 1 éFilterable (with results)
; 2 éFilterable (no results)
).GET /V1/products/attributes/{attributeCode}/is-filterable
. Parâmetros de caminho:attributeCode
(String
).
Problemas corrigidos
Corrigimos centenas de problemas no código principal do Magento Open Source 2.4.7. Um subconjunto dos problemas corrigidos incluídos nesta versão está descrito abaixo.
Instalação, atualização, implantação
- A manipulação de cache desnecessária foi removida do processo de configuração. Anteriormente, o Magento Open Source gravava sua configuração no disco desnecessariamente quando
bin/magento setup:db-data:upgrade
oubin/magento setup:upgrade
era executado, o que causava problemas com alguns módulos durante a instalação. GitHub-38124
- Problemas de implantação devido à memória insuficiente e a tabelas grandes foram resolvidos. O comando
bin/magento setup:upgrade
não falha mais devido a erros de memória excedida relacionados a tabelas MySQL grandes.
bin/magento setup:install
agora é concluído com êxito depois queapp/etc/config.php
é excluído. Anteriormente, o arquivo ausente não era gerado novamente durante a instalação, e o Magento Open Source emitiu um erro. GitHub-37805
bin/magento setup:upgrade
foi refatorado para ser executado com êxito ao instalar um novo módulo que instala as tabelas e os indexadoresmview
associados. GitHub-37304
- A restauração do banco de dados não falha mais devido a um erro de delimitador. Anteriormente, o Magento Open Source exibia este erro quando
bin/magento setup:rollback --db
era executado:Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'delimiter' at line 1, query was: delimiter ;;
.
- O comando
bin/magento setup:upgrade
não falha mais com este tipo de erro relacionado ao limite de memória do MySQL:PHP Fatal error: Allowed memory size of 4294967296 bytes exhausted (tried to allocate 20480 bytes)
. A migração de atributos de seleção múltipla foi otimizada para consumir menos memória durantesetup:upgrade
.
- A geração de um backup de banco de dados agora funciona conforme esperado do Admin e da linha de comando. Anteriormente, o Magento Open Source exibia este erro:
Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'delimiter' at line 1, query was: delimiter ;;
.
- Executar
setup:config:set
sem especificar o parâmetro--lock-db-prefix
não apaga mais o valor atual do arquivoenv.php
.
- A configuração de verniz foi atualizada para impedir que usuários convidados acessem conteúdo em cache relacionado a outros grupos de clientes.
bin/magento setup:upgrade
agora é concluído com êxito ao instalar um novo módulo que instala tabelas e indexadoresmview
associados.
bin/magento setup:upgrade
agora exibe uma mensagem de erro mais informativa quando um tópico da fila de mensagens não inclui um nome de tópico. GitHub-34246
bin/magento setup:upgrade
agora exibe uma mensagem de erro mais informativa quando os arquivos XML mesclados são inválidos. A mensagem de erro agora inclui o nome do arquivo.
Interface do administrador
- Os gráficos agora são desativados com sucesso por padrão no painel. GitHub-38430
- O menu Admin Sales agora exibe os submenus corretamente. Anteriormente, a quebra de coluna não funcionava corretamente e alguns submenus não eram exibidos. GitHub-37812
- As opções de menu suspenso Select agora estão visíveis no Administrador Content > Pages quando várias páginas são selecionadas na grade. GitHub-35386
- Correção do caminho para o valor padrão de
system/dashboard/enable_charts
nas definições de configuração. Os gráficos agora são exibidos no Admin, conforme esperado. GitHub-37668
- Correção do problema de exibição nas grades do Cliente administrador. Anteriormente, as colunas de grade não estavam completamente contidas na página exibida.
- As cores de flutuação agora são aplicadas conforme esperado nas linhas de grades estáticas de Administração. GitHub-35358
- O check-out fluxo de Trabalho não exibe mais um aviso quando um consumidor digita um código postal para a Grécia que não contém um espaço em branco. GitHub-36676
It's time to change your password
Agora, o administrador link redireciona para a página de administração Alterar Senha conforme o esperado. GitHub-37902
- sufixos de título Página agora estão incluídos no
title
tag e nometa title
tag das páginas de produtos. GitHub-37680
- A condição do status do estoque do produto agora é aplicada corretamente para as regras de produtos relacionados.
- A Login as Customer botão agora é exibida corretamente em dispositivos móveis.
- Adobe Systems Comércio não exibe mais o Administrador Add new customer group botão se o administrador de login usuário não tiver permissão para adicionar um novo grupo do cliente.
- Um usuário administrador com permissões restritas agora pode salvar um produto secundário cujo produto principal está atribuído a um escopo diferente. Anteriormente, o Commerce invalidava o cache de um produto principal que não estava atribuído ao escopo no qual o produto secundário era alterado.
- Agora, os usuários administradores podem alternar entre as exibições de filtro Admin sem que os dados de exibição sejam corrompidos ou perdidos com êxito. GitHub-37529
Produtos do pacote
- A consulta
customerCart
agora retorna todos os descontos aplicados em produtos agrupados conforme esperado. Anteriormente, os descontos totais que eram aplicados a um produto pacote eram retornados como zero.
- As páginas de detalhes do produto agora exibem o preço correto para pacote produtos para os quais um desconto de 100% foi aplicado. Anteriormente, Magento Open Source não aplicava um desconto de 100% aos preços pacote dos produtos.
- As regras de preço do carrinho agora são aplicadas a pacotes de produtos em vez de cada produto filho para produtos empacotados com preço dinâmico.
- Correção de um erro que ocorre ao usar o
POST V1/shipment
terminal para criar um carregamento contendo um produto pacote. O ponto de extremidade agora adiciona itens conforme esperado e não retorna mais este erro:The shipment couldn't be saved
.
- Agora você pode usar a rota da
GET V1/shipment/
API para criar um carregamento com um produto pacote quando o produto tiver o together tipo de carregamento definido. Os produtos do pacote agora também são validados com base na propriedade do tipo de remessa.
- Os compradores agora podem editar a quantidade de um produto agrupado no carrinho de compras da vitrine. Anteriormente, o Adobe Commerce não tratava valores nulos para
ItemId
quando os produtos eram editados no carrinho de compras da loja e exibiam um erro. GitHub-37696
- Os produtos do pacote agora podem ser adicionados com êxito a um pedido de Admin usando SKUs que contêm um caractere de barra (
/
). Anteriormente, os usuários administradores não podiam usar esse método para adicionar produtos a um pedido de Administrador, e o Magento Open Source gerou um erro no JavaScript.
- Os usuários administradores agora podem definir valores padrão decimais para as opções de pacote recém-adicionadas quando Qty Uses Decimal ativados para o produto simples correspondente. Anteriormente, os valores decimais podiam ser definidos apenas para seleções salvas.
- Desempenho otimizado para salvar pacote produtos com um grande número de opções
- Os produtos do pacote foram importados com êxito sem duplicar as SKUs nas opções de produto. Anteriormente, Magento Open Source criava várias SKUs duplicado nas opções de produto ao importar pacote produtos com entradas duplicado.
- O preço do produto do pacote agora é calculado corretamente quando um dos produtos na pacote está sem estoque. Anteriormente, se um produto que fazia parte da pacote estava sem estoque, ele era removido do cálculo de preços.
- Os produtos do pacote agora são exibidos como fora de estoque quando o último de seus produtos secundários necessários é comprado. Anteriormente, pacote produtos eram exibidos como em estoque na vitrine quando seus produtos simples estavam sem estoque.
- Problemas de desempenho ao adicionar produtos de pacote com opções não necessárias ao carrinho usando a mutação
addBundleProductsToCart
foram resolvidos.
- A consulta
categoryList
agora retorna todas as opções do pacote conforme esperado quando a definição de configuração Show out-of-stock products está habilitada. Anteriormente, as opções indisponíveis não eram incluídas na resposta da consulta.
- Os produtos de pacotes criados com
POST V1/products
o passar do tempo são bem-sucedidos quando o preço do escopo do catálogo estiver definidowebsite
como. Anteriormente, acontecia uma violação de restrição de integridade. GitHub-35595
Cache
- As categorias agora estão visíveis para compradores em lojas onde o cache está definido como Fastly CDN (Caching Application=Fastly CDN). Isso afetou tanto os compradores convidados quanto os clientes registrados.
- Os cookies de cache após o logon agora são os mesmos após a navegação no site. Anteriormente, o controlador de logon enviava o cookie de cache incorreto e as páginas podiam ter sido armazenadas em cache várias vezes.
- As respostas das operações do GraphQL GET em páginas do CMS que contêm blocos do CMS agora são apagadas conforme esperado no cache do Fastly. As atualizações de programação subsequentes agora mostram um conteúdo preciso e atualizado dessas páginas.
- O cache da página agora é limpo conforme esperado para um produto principal quando um de seus produtos secundários foi salvo do administrador. Uma verificação plug-in foi introduzida para atingir a invalidação de cache para variantes configuráveis, semelhante a outros tipos de produtos, independentemente do estado do indexador (programado ou em tempo real). Anteriormente, os preços não eram atualizados corretamente na vitrine depois que uma variação configurável foi atualizada do Administrador.
- Adicionado um mecanismo de armazenamento em cache para credenciais do AWS. Um provedor de credenciais agora usa o cache Comércio para armazenar as credenciais de cache recuperadas da AWS para a configuração EC2.
- O plug-in cujo objetivo é adicionar o cache configurável tag quando um produto simples associado a um produto configurável é salvo agora funciona conforme o esperado. Todas as tags de cache configuráveis relevantes são removidas conforme esperado quando um produto simples é atualizado.
POST V1/products
Anteriormente, nem todos os preços eram atualizados na vitrine, e os caches tinham que ser limpos manualmente. GitHub-36726
Carrinho e check-out
- Magento Open Source otimiza o desempenho ao não carregar dados de aspas usuário específicos ao gerar páginas em cache página, como Páginas de detalhes do produto (PDP) e páginas de CMS quando carrinho persistentes são ativados. Anteriormente, o sistema carregaria desnecessariamente usuário dados específicos de sessão e aspas durante a geração dessas páginas, o que afetava o desempenho.
- Os atributos personalizados do endereço personalizado agora são salvos conforme esperado no banco de dados. Anteriormente, os valores de atributos que eram salvos no banco de dados eram anexados ao código do atributo.
- A geração de carrinho regras de filtragem de texto para atributos do produto foi aprimorada. Os produtos individuais não são mais carregados várias vezes.
- Magento Open Source agora exibe uma mensagem de erro informativo quando ocorre um erro durante o check-out e não retorna mais os consumidor para uma etapa de checkout anterior. Anteriormente, o consumidor era retornado ao página de envio.
- A
cart
query não retorna mais o método de envio e o endereço dos carrinhos virtuais. Anteriormente, quando um carrinho continha produtos físicos e virtuais, e todos os produtos físicos eram removidos, a resposta carrinho query continuava a incluir informações de envio.
- Magento Open Source agora exibe mensagens informativas quando uma ação de adicionar à carrinho é acionada. Anteriormente, o
The requested qty is not available
não era sempre exibido como necessário na vitrine.
- O check-out página tempos de carregamento foram melhorados para clientes com livros de endereços grandes. Magento Open Source processa apenas o número de endereços do cliente especificados na Customer Addresses Limit configuração. Anteriormente, o Magento Open Source carregava todo o catálogo de endereços.
- A quantidade do produto agora pode ser alterada no carrinho conforme esperado para itens em estoque quando um item está esgotado. Anteriormente, os compradores não podiam alterar a quantidade de nenhum item do produto quando um estava indisponível.
- O filtro de atributo de produto
AdvancedSalesRule
agora funciona corretamente com o tipo de back-end de atributo decimal. Como resultado, as regras de carrinho comCoupon Type
definidas como No Coupon agora funcionam conforme esperado.
- A quantidade total de um desconto de carrinho inteiro agora é aplicada conforme esperado em carrinhos que contêm produtos agrupados e configuráveis.
- Os cookies de Seção do cliente agora seguem a configuração de domínio do cookie. Anteriormente, o minicarrinho não era atualizado conforme esperado em armazenamentos que continham subdomínios, mesmo que a sessão tivesse sido compartilhada.
- Enviar um pedido para vários endereços não aciona mais um erro durante o processamento da ID da região.
- Os valores de desconto fixo aplicados no nível do carrinho agora estão corretos.GitHub-37496
- Os cupons agora são aplicados com êxito a um pedido quando um comprador aplica o cupom depois de selecionar o método de envio de taxa uniforme em que uma regra de preço do carrinho com método de envio definido como uma condição é aplicável. Anteriormente, a página do carrinho exibia o erro O cupom não é válido e o cupom não era aplicado. GitHub-34866
- Os cupons agora são aplicados com êxito a um pedido quando um comprador aplica o cupom depois de selecionar o método de envio de taxa uniforme em que uma regra de preço do carrinho com método de envio definido como uma condição é aplicável. Anteriormente, a página do carrinho exibia o erro O cupom não é válido e o cupom não era aplicado. GitHub-34866
- A caixa de seleção My billing and shipping address are the same agora permanece marcada por padrão quando um comprador usa o preenchimento automático do Chrome para preencher seu endereço de envio e clica em Avançar antes que o bloco de métodos de envio seja recarregado. GitHub-33725
- O valor
applied_rule_ids
na tabelaquote_item
agora inclui uma lista correta de IDs de regra aplicadas. Anteriormente, esse valor continha somente a última ID de regra aplicada.
- Agora, os dados do minicarrinho e do cliente no armazenamento local são redefinidos quando uma sessão é removida do servidor. Anteriormente, esses dados ainda apareciam quando o arquivo de sessão era removido.
- Os carrinhos discretos não são mais mesclados por engano do Administrador quando o carrinho persistente está ativado.
- O avaliador de imposto do carrinho e de remessa agora refletem com precisão a configuração de destino padrão. Anteriormente, ao definir as configurações padrão de cálculo de destino do imposto e especificar Estado/Região e CEP, somente o valor CEP era exibido no carrinho em Estimate Tax and Shipping. Isso era resultado da definição pela Magento Open Source da ID da região como indefinida antes da chamada da declaração condicional que definia a ID da região padrão do Administrador.
- A Magento Open Source não lança mais este erro durante o check-out quando o carrinho de compras persistente está habilitado:
Invalid state change requested
. Anteriormente, quando esse erro era gerado, vários pedidos com o mesmoquote_id
eram criados ocasionalmente.
- O minicarrinho agora exibe os preços de produtos agrupados que refletem as configurações de imposto do carrinho. Anteriormente, o minicarrinho sempre incluía impostos nos preços dos pacotes de produtos.
- A estimativa de envio fornecida na página do carrinho agora é precisa.
collectShippingRates
agora é definido apenas uma vez. Anteriormente, a estimativa de envio era duplicada. GitHub-36648
- A
cart
query não retorna mais um erro quando um produto na carrinho especificada está sem estoque. Anteriormente, os compradores que usavam esse query para fazer uma compra não podiam concluir sua compra quando um item estava sem estoque, e sua página de check-out estava em branco.
- As solicitações da API Convidada para
POST V1/guest-carts/<cartId>/shipping-information
não retornam mais um statuscancel
se a página for recarregada durante o logon em um ambiente móvel. Anteriormente, o Magento Open Source emitiu um erro 500 e registrou esta exceção:TypeError: Argument 2 passed to Magento\CustomerCustomAttributes\Model\Plugin\ProcessCustomerShippingAddressCustomAttributes::beforeSaveAddressInformation() must be of the type string, null given
.
- A qualificação para envio gratuito agora é calculada conforme esperado quando a condição Subtotal (Excl. Tax) para regras de carrinho é aplicada. GitHub-36760
- A consulta
cart
agora retorna o preço de camada correto para um produto. GitHub-29655
- Mensagens de erro informativas foram adicionadas à página de check-out para orientar os compradores quando a aplicação de um cupom na página de envio entra em conflito com o método de envio selecionado. Anteriormente, uma mensagem instruía os compradores a retornar à página anterior.
- O pop-up de autenticação agora é inicializado somente quando é necessário, em vez de sempre que o check-out do convidado está habilitado. Agora ele é inicializado quando o comprador convidado tenta prosseguir para o check-out e o check-out do convidado é desativado. GitHub-30672
Regra de preço do carrinho
- A condição de subseleção do produto da regra de preço do carrinho agora inclui a opção
total (incl.tax)
, conforme esperado. GitHub-34871
- A condição de regra de preço de catálogo
If an item is FOUND/NOT FOUND in the cart with ALL/ANY of these conditions true
agora funciona corretamente com atributos de categoria e SKU. Anteriormente, essa condição não era aplicada corretamente na lógica do cupom de preço do carrinho e os cupons inválidos eram aplicados aos pedidos. GitHub-37660
- Agora você pode salvar com êxito uma nova regra de preço do carrinho com a extensão
Magento_OfflineShipping
desabilitada. Anteriormente, o Magento Open Source exibia este erro:report.ERROR: Warning: Undefined array key "simple_free_shipping"
. GitHub-37580
- As regras de preço do carrinho agora são aplicadas conforme esperado quando uma regra de preço do carrinho relacionada a um método de envio é configurada para a loja e esse método de envio é alterado para outro durante o check-out. Anteriormente, o valor
applied_rule_ids
nunca era alterado na tabelasales_order_item
, e a regra de preço do carrinho não era aplicada ao pedido.
- Os cupons agora são aplicados com êxito a um pedido quando um comprador aplica o cupom depois de selecionar o método de envio de taxa uniforme em que uma regra de preço do carrinho com método de envio definido como uma condição é aplicável. Anteriormente, a página do carrinho exibia o erro
Coupon is Not valid
e o cupom não era aplicado. GitHub-34866
Catálogo
- A execução de
bin/magento cache:clean
oubin/magento cache:flush
não libera mais todo o cache interno ou de página inteira do Verniz, a menos que seja especificado. GitHub-38301
- Os comerciantes agora podem usar o Carrossel de Produtos para criar blocos do CMS quando
catalog_product_price dimensions-mode
estiver definido comowebsite
. Anteriormente, o Magento Open Source não salvava o bloco e gerava este erro SLQ:report.CRITICAL: PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table
.
- O Magento Open Source não exibe mais imagens duplicadas quando a cor do produto é alterada em uma página de detalhes do produto. GitHub-36243
- Otimizado o algoritmo para sincronizar valores específicos do site após adicionar uma nova loja ou alterar uma existente em ambientes grandes de várias lojas.
- O processo de limpeza de arquivos de imagem em cache foi aprimorado para evitar a criação de diretórios ocultos na pasta
pub/media/catalog/product
. Anteriormente, os diretórios ocultos causavam problemas de espaço em disco durante as operações de limpeza. A operação pôde ser encerrada, o que deixou para trás diretórios ocultos temporários que nunca foram excluídos.
- Agora os preços do pacote de produtos são calculados corretamente e um problema com a ordem das operações ao calcular preços foi resolvido. GitHub-35665
- Uma cláusula desnecessária foi removida das consultas de índice
catalog_product_price
, o que melhorou o desempenho desse indexador em lojas com catálogos grandes. GitHub-32382
- O Magento Open Source não insere mais o texto de descrição do produto no campo da página de detalhes do produto Meta Description quando esse campo fica vazio. Anteriormente, quando uma descrição do produto continha o código HTML gerado pelo Page Builder ou outro editor do HTML, o HTML era exibido no campo Meta Description e não era possível deixar esse campo vazio.
- As opções de produto configuráveis nas páginas PDP de produto configuráveis não são mais afetadas por outras opções de produto configuráveis na página. Anteriormente, os produtos configuráveis com atributos suspensos não acionavam mais uma exceção quando um carrossel de produtos estava presente na página Detalhes do produto. As opções de produto configuráveis não podiam ser selecionadas quando outros produtos configuráveis com opções de amostra estavam presentes na página.
- As informações do produto visualizadas recentemente agora são exibidas de acordo com a configuração de visualização da loja. Anteriormente, os dados do produto visualizados recentemente não eram atualizados por armazenamento visualização, incluindo nome e idioma preferencial.
- Os vídeos Vimeo agora são reproduzidos conforme esperado em páginas de produtos em visualização móveis em navegadores da Web baseados em Chromium.
- O comando
bin/magento catalog:images:resize
agora gera corretamente imagens de produtos para os produtos atribuídos a um site personalizado com um tema personalizado.
- Os metadados com valores
NULL
ouNOT NULL
agora são salvos para o armazenamento padrão de acordo com a caixa de seleção Usar valor padrão, conforme esperado. Anteriormente, os metadados com o valorNULL
não eram salvos quando essa caixa de seleção estava desmarcada.
- Os comerciantes agora podem excluir com sucesso uma imagem existente da página de detalhes do produto e, em seguida, fazer upload de uma nova imagem com o mesmo nome. Anteriormente, nessas circunstâncias, a página do produto da loja não exibia a imagem correta.
- A consulta
productDetail
agora retorna o nome do produto em vez de nulo quando o atributo de imagem do produtoalt
é definido como vazio.
- Os pedidos que incluem produtos baixáveis e físicos agora incluem links de trabalho para o produto baixável assim que o pedido é concluído. Anteriormente, os links para produtos baixáveis não estavam disponíveis até que os produtos físicos na mesma ordem fossem enviados.
- As substituições de URL agora são atualizadas quando uma categoria é movida de uma categoria de armazenamento/raiz para outra categoria de armazenamento/raiz. As entradas obsoletas do banco de dados agora são removidas quando as subcategorias são transferidas para novas categorias pai. O banco de dados agora inclui somente entradas relevantes. Anteriormente, o
url_path
não era atualizado com a ID de armazenamento apropriada.
- O ponto de extremidade REST
V1/products/<sku>/media
agora pode processar o carregamento simultâneo de várias imagens de mídia. Anteriormente, ao processar várias solicitações simultaneamente, dados inconsistentes eram criados e o Magento Open Source exibia um erro quando esses dados eram salvos no banco de dados.
- O desempenho da reindexação parcial dos indexadores de Produtos de categoria e Categorias de produto foi aprimorado. Anteriormente, o trabalho do cron
indexer_update_all_views
executava indexadores várias vezes por produto ou categoria individual.
- Quando o status do estoque do produto é atualizado automaticamente para esgotado com base na configuração de estoque (quantidade), o status do estoque será atualizado subsequentemente para em estoque quando a quantidade de estoque for atualizada. Anteriormente, a configuração
stock_status_changed_auto
era ignorada quando a configuração de estoque de um produto era atualizada para em estoque.
- A classificação da barra de ferramentas agora funciona conforme esperado nas páginas de Pesquisa quando a configuração Remember Category Pagination está habilitada. GitHub-33220
- Os atributos multisseleção são salvos conforme esperado quando Use Default Value a caixa de seleção na visualização de armazenamento escopo é selecionada. Anteriormente, essa caixa de seleção era desmarcada quando o produto era editado e o valor padrão era salvo.
- Usuários administradores com acesso limitado ao site agora podem adicionar imagens a um produto que se enquadra em seus escopo. Se a administrador usuário não tiver direitos de acesso ao produto, Magento Open Source exibirá uma mensagem informativa. Anteriormente, administrador usuários com acesso limitado ao site não podiam adicionar imagens a produtos aos quais tinham acesso.
- Magento Open Source agora exibe o nome correto após classificar produtos por nome na Administração > Category > Products in category em implantações de vários armazenamentos onde os nomes dos produtos variam de acordo com armazenamento. GitHub-36208
- A mutação
addProductsToCart
agora retorna opções personalizáveis com dados. Anteriormente, retornava apenas opções personalizáveis vazias. GitHub-37599
- O status do produto com backorder agora é exibido corretamente na loja. Anteriormente, os produtos disponíveis para envio eram identificados incorretamente como pré-classificados.
- Os produtos exportados agora têm o valor correto
manage_stock
quando ouse_config_manage_stock
valor é1
igual. Anteriormente, esse valor padrão estava incorreto.
- O acesso a produtos para download no Admin não resulta mais em um erro quando o administrador usuário altera as armazenamento visualização do visualização usado durante a criação do produto para outra armazenamento visualização. Os preços dos produtos são convertidos em flutuação com sucesso quando uma administrador usuário muda armazenamento visualização de todas as exibições armazenamento para o visualização de armazenamento padrão. Anteriormente, Magento Open Source ocorreu um erro. GitHub-37519
- Magento Open Source não exibe mais uma mensagem de aviso ao salvar um produto que foi criado com opções personalizadas depois de excluir sua imagem.
- As imagens em miniatura do produto agora são exibidas como esperado no estoque do produto alerta email que é enviado quando um produto está de volta ao estoque. Anteriormente, essa imagem não era exibida no email do alerta
- A contagem de produtos na árvore de categoria (Admin Catalog > Category) agora é precisa. Anteriormente, a contagem de produtos da categoria não pôde ser recuperada da tabela
catalog_category_product_index
. O erro de digitação que acionou esse erro foi corrigido. GitHub-35417
- A imagem principal do produto nos detalhes do produto página as mudanças visivelmente para baixo durante página carregamento quando
product_image_white_borders
o temaview.xml
estiver desativado. Anteriormente, a imagem do produto estava visivelmente deslocada para baixo durante a carga de página devido a configurações incorretas de altura no Fotorama JS.
- Os clientes agora são notificados sobre quedas no preço do produto quando o cliente está inscrito em alertas de queda de preço. Anteriormente, as notificações de queda de preço nem sempre eram enviadas devido a armazenamento em cache de nível aplicativo.
- O validação do lado do servidor foi adicionado ao processo de criação de atributos de produto por meio da API da Web. Você não pode habilitar o campo Use in Layered Navigation Catalog quando o valor do campo Catalog Input Type for Store Owner é
Text Field
,Text Area
,Text Editor
,Date
ouDate and Time
. Anteriormente, os produtos eram omitidos das categorias e dos resultados da pesquisa.
- A página de categoria agora é recarregada com a paginação correta depois que um comprador abre a página, altera a paginação, navega até uma página de produto e retorna à página de categoria. GitHub-36563
- Os produtos simples esgotados que são opções de um produto configurável agora são exibidos como desabilitados na loja quando Display Out of Stock Products está definido como Sim. Anteriormente, todas as opções eram exibidas como disponíveis, apesar do status e da disponibilidade real.
- A atualização do atributo de escopo do site em uma exibição de armazenamento específica não substitui mais o valor desse atributo no escopo global. Anteriormente, a importação de preços de produtos quando várias linhas estavam disponíveis com o mesmo SKU e
store_view_code
resultava em preços imprecisos para os escopos de exibição padrão e Todas as lojas.
- Os comerciantes agora podem adicionar uma imagem GIF à galeria de imagens de um produto do Administrador. Anteriormente, Magento Open Source exibia esse erro:
imagecolorsforindex(): Argument #2 ($color) is out of range
.
- Verificações foram adicionadas para lidar com erros que resultam de chaves de matriz indefinidas. Anteriormente, um erro ocorria durante a geração declarativa schema lista de permissões.
- Magento Open Source retorna um resultado válido para a data
01/01/1970
personalizada. Anteriormente, o atributo personalizado retornava este erro:Invalid input datetime format of value '1/01/1970
. GitHub-37274
routes
As consultas que usam fragmentos agora retornam categoria informações conforme esperado. Anteriormente, ocorreu um erro interno do servidor na categoria página. GitHub-35906
- Problemas com o
cataloginventory_stock
processo de reindexação parcial foram resolvidos e o desempenho do indexador melhorou. Anteriormente, as categorias de estoque e produto não eram atualizadas com precisão.
- Magento Open Source agora gera um 301 redirecionar para um produto quando o categoria ao qual pertence foi movido para um novo pai. GitHub-37039
Regras de catálogo
- Agora as regras do catálogo são indexadas corretamente quando ativadas pela atualização de agendamento. Como resultado, os preços com desconto agora são gerados e indexados corretamente. Anteriormente, quando duas regras de catálogo estavam disponíveis e uma regra era ativada após a primeira regra, antes da conclusão da primeira operação de indexação da regra de catálogo, os preços de desconto da regra de catálogo não eram gerados para a segunda regra de catálogo.
- As regras do catálogo agora são aplicadas conforme esperado em um ambiente de vários sites.
Produtos configuráveis
- Os comerciantes agora podem selecionar Skip quantity at this time e Skip image uploading at this ao configurar um produto configurável sem afetar a fonte de produtos simples associados. Anteriormente, a seleção Skip quantity at this time resultou no desaparecimento de fontes de produtos.
- O rótulo As low as não é mais exibido para um preço de produto configurável quando todas as opções têm o mesmo preço.
- Os usuários administradores com permissões de site agora podem salvar um produto secundário que faz parte de um produto configurável em um contexto de loja diferente. Os processos de reindexação agora ignoram esse tipo de produto configurável.
- Os produtos configuráveis com dois produtos secundários não são mais marcados como indisponíveis quando um produto secundário é desativado por uma atualização programada. Esse foi um problema conhecido para o 2.4.7-beta1.
- O desempenho das operações de salvamento de produtos configuráveis com várias opções melhorou. Anteriormente, os tempos limite podiam ocorrer durante as operações de salvamento do produto. GitHub-36928
- A exibição da loja de preços de produtos configuráveis agora muda conforme esperado quando um comprador seleciona uma opção de produto. GitHub-37378
Cupons
- Os códigos de cupom com um número limitado de usos por cliente agora podem ser usados uma segunda vez quando o pedido para o qual foram usados anteriormente falhar. Anteriormente, o código promocional não era liberado quando o pedido anterior era cancelado.
- Os códigos de cupom que contêm caracteres de espaço não são mais invalidados. Anteriormente, se um código de cupom continha um caractere de espaço (antes ou depois do código real), a validação falhava. GitHub-38048
- O valor do cupom de uso único de um comprador agora é restaurado conforme esperado quando o pedido ao qual ele foi aplicado é cancelado.
- O ponto de extremidade
GET V1/coupons/<couponId>
agora retorna a resposta completa esperada para cupons criados manualmente, da mesma forma que para cupons gerados automaticamente. Anteriormente, alguns campos eram omitidos (por exemplo,usage_limit
,usage_per_customer
ecreated_at
).
cron
- O trabalho do cron
aggregate_sales_report_bestsellers_data
não cria mais tabelas MySQL temporárias muito grandes e agora é concluído com êxito. Esse trabalho cron agora insere dados por loja, não para todas as lojas de uma só vez. Anteriormente, essa tarefa cron poderia resultar emNo space left on device
erros.
- O número de registros pendentes na tabela
cron_schedule
foi reduzido ao impedir que os trabalhos cron tentem adquirir bloqueios de trabalhos cron desnecessários. Anteriormente, os trabalhos cron tentavam adquirir bloqueios quando era tarde demais para executar o trabalho. Os trabalhos Cron emcron_schedule
não foram marcados como perdidos mesmo que já tivessem passado o tempo agendado. O Magento Open Source também exibiu este erro repetidamente no log de erros:report.WARNING: Could not acquire lock for cron job: indexer_update_all_views
.
- Correção do erro fatal de divisão por zero em expressões cron. GitHub-37804
- O processo cron
sales_clean_quotes
foi otimizado para execução mais rápida ao adicionar um índice composto emstore_id
eupdated_at columns
na tabela de aspas. Essa alteração melhora o desempenho do trabalho cron ao processar muitas cotações.
- Os usuários administradores agora podem exibir qual tarefa o processo
bin/magento cron:run
está executando no momento. O título do processo atualmente em execução agora lista os nomes do grupo e do trabalho. GitHub-34321
Cliente
- Magento Open Source agora exibe os Date of Birth campos, Tax/VAT Number, Gender, Telephone Company e Fax os campos na página do cliente de edição com base nas configurações. GitHub-36196
- Emails que contêm sinais diacríticos ou acentos (ou seja, email utf8) agora são suportados para clientes e empresas, bem como para fazer pedidos de clientes e clientes registrados. Anteriormente, o Magento Open Source não salvava registros de clientes que continham sinais diacríticos e exibia este erro:
Something went wrong while saving the customer
.
- Os nomes dos remetentes de email não podem mais incluir dois-pontos. Uma nova regra de validação agora impede o salvamento de nomes de remetentes que contêm caracteres de dois-pontos da seção Armazenar Endereços de Email do Administrador Stores > General. Anteriormente, os comerciantes podiam salvar um nome de remetente que continha um caractere de dois pontos, o que resultava em erros no servidor de email.
- Os endereços de email do cliente agora podem incluir sinais diacríticos. Anteriormente, a validação de front-end proibia a criação de um usuário com sinais diacríticos em seu endereço de email. GitHub-12075
- Os emails de alerta de estoque e preço agora são traduzidos de acordo com o idioma configurado para a exibição de loja padrão do site. Anteriormente, esses emails não eram traduzidos.
POST V1/order/notify-orders-are-ready-for-pickup
agora envia um email alertando aos clientes que um pedido está pronto para retirada somente quando o pedido está pronto. Agora, o email é acionado somente quando a solicitação é atendida sem uma exceção.
Estruturas
- A depuração aprimorada adicionando o valor
UNCACHEABLE
ao gerar um cabeçalho HTTP com Verniz está em uso. Anteriormente, somenteHIT
ouMISS
valores eram gerados. GitHub-37912
- Adição de código para oferecer suporte ao manuseio de compactação padrão Varnish. GitHub-38309
- O comando
varnish:vcl:generate
agora inclui uminput-file argument
. Isso oferece suporte para a adição de um VCL personalizado a um repositório Git, relativo à raiz Comércio. GitHub-37363
- O suporte para Vernish 4.x e 5.x foi removido da base de código. GitHub-38304
phpcodesniffer-composer-installer
emcomposer.json
foi atualizado para v1.0.0. GitHub-36913
- Os caracteres que não estão em conformidade com RFC3986 foram removidos da base de código. GitHub-38355
- Correção de um tag incorreto do documento PHP na
Magento\Reports\Block\Adminhtml\Shopcart\Product\Grid
classe. GitHub-38186
- Código refatorado em toda a base de código criada quando a prática de codificação determinava que qualquer seção de cache incluída no
app/etc/env.php
arquivo incluiria uma seção de frontend. Essa refatoração aborda possíveis problemas ao atualizar implantações anteriores à versão 2.4.4 do Magento Open Source. GitHub-38363
- Esclarecimento sobre a mensagem de erro associada ao
StockItemValidator.php
quando uma ID do estoque com valor 0 é fornecida durante uma chamada de API. GitHub-31107
- Adição de uma matriz vazia padrão a
$tagGenerators
emCompositeTagGenerator
para evitar erros durante a compilação da injeção de dependência. Anteriormente, executar obin/magento setup:upgrade
comando quando os módulos eMagento_StoreGraphQl
osMagento_DirectoryGraphQl
módulos estavam desativados resultava em um erro. GitHub-38165
- A classe
AlgorithmProviderFactory
não usada foi removida, assim como as dependências dessa classe em classes, incluindoJweAlgorithmManagerFactory.php
,JweContentAlgorithmManagerFactory.php
eJwsAlgorithmManagerFactory
. GitHub-37783
- O arquivo
var/log/system.log
não contém maismain.INFO
mensagens de erro. O log de entrada de menu foi movido do nível INFO para DEBUG. Anteriormente, o arquivovar/log/system.log
era inundado com mensagens como esta:Add of item with id Magento_Theme::design_config was processed …
.
- O pré-carregamento de Redis não falha mais quando
exec()
retorna falso. A verificação foi adicionada ao processo de pré-carregamento para impedir quearray_combine
recebafalse
como segundo argumento. Como resultado, o pré-carregamento continuará a ser executado quandoexec()
retornarfalse
. GitHub-37509
- Refatorou o
Magento_CatalogWidget
módulo para substituir$block
funções de escape por$escaper
funções de escape. GitHub-37107
Swaziland
foi atualizado paraEswatini
em toda a base de código. GitHub-37873
- Adição da nova moeda nicaraguense (NIO) à lista de moedas disponíveis.
- Corrigido um nome de variável em
CatalogRule/Controller/Adminhtml/Promo/Catalog/NewConditionHtml.php
. GitHub-38093
- Correção de erros de arredondamento de subtotal que ocorriam em transações para produtos para os quais a quantidade decimal tinha sido habilitada. GitHub-37817
- O filtro de datas para a grade de cliente Administração agora funciona como esperado de acordo com a localidade especificada.
- O comando
bin/magento setup:upgrade
não falha mais devido ao tipo de dados da variável$schemaPatch
. Anteriormente, o valor da cadeia de caracteres era passado para a funçãoget_class
, o que causava o erro. GitHub-37545
- A conexão com o banco de dados MySQL agora será restaurada se o tempo limite da conexão for atingido durante uma transação quando você definir
max_messages = 0
para o consumidor. Anteriormente, a conexão era encerrada.
- O módulo principal
magento/module-release-notification
foi marcado como obsoleto no código 2.4-develop com este comentário:Starting from Magento 2.4.7, Magento_ReleaseNotification module is deprecated in favor of another in-product messaging mechanism
.
- A geração de código de proxy agora gera arquivos Proxy e Fatory, conforme esperado, para implantações executadas no modo de produção. GitHub-35252
- O estado indiano de Ladakh agora está listado como uma opção nos menus suspensos Endereço de administrador State. GitHub-33698
- O ticker de contagem regressiva do evento agora é exibido conforme esperado na página de categoria.
- A tag proibida
@author
foi removida da base de códigos, incluindo estes módulos:Magento_user-variable-wee
,Magento_Catalog
eMagento_Customer
,Magento_Wishlist
,Magento_Review
Tax
e ao longo do estrutura. GitHub-37245, GitHub-37246, GitHub-37249, GitHub-37263
- O serializador JSON na
User
módulo foi substituído por um novo serializador mais preciso (JsonHexTag
). Anteriormente, Magento Open Source algumas vezes falhavam ao tentar usar dados serializados pelo serializador regular quando continha elementos unescaped. GitHub-31377
- Erros de pipeline quebrados não ocorrem mais ao executar uma reindexação completa (
bin/magento indexer:reindex
). As conexões AMPQ agora são fechadas antes dos processos de bifurcação do gerenciador de processos.
- O validador de mensagens da fila agora valida o subtipo de todos os elementos de matriz. Anteriormente, o Magento Open Source lançava uma exceção.
- A configuração de conexão de fila por tópico em
app/etc/env.php
agora funciona corretamente. Anteriormente, a fila de alerta do produto não era gerada corretamente quando uma nova fila de mensagens era criada com uma troca personalizada. Se a conexão fila para um tópico foi configuradaapp/etc/env.php
com troca personalizada, foi criado um novo vínculo para todos os tópicos com essa troca personalizada. Os comerciantes não puderam processar alertas de produtos.
- Formatos temporais marcados com um
/* mariadb-5.3 */
comentário não causam mais erros durantebin/magento setup:install
a atualização do servidor MariaDB para a versão 10.5.1 ou posterior.
- O driver AwsS3 agora funciona como esperado como um substituto para o arquivo padrão base armazenamento implementação. Anteriormente, os dados podiam ser corrompidos quando esse driver era configurado para armazenamento de arquivos. GitHub-37844
bin/magento config:show
eset
os comandos que usam$_ENV
variáveis agora são compatíveis com o uso de códigos de site e armazenamento que contêm caracteres em camel case ou em letras maiúsculas.
- Adicionadas classes com
!important
as usadas no Tailwind 3 para oferecer suporte ao layout CSS. GitHub-37568
- Uma dependência
jQuery
ausente foi adicionada ao arquivotrim-input.js
. GitHub-37683
- Detalhes específicos do evento agora são passados como um segundo atributo (
context
) do métodolog
. GitHub-37879
- Os valores de proporção foram adicionados às imagens do catálogo e os scripts desnecessários foram removidos da estrutura da interface do usuário. GitHub-37691
- Mensagens de erro revisadas acionadas pela configuração XML inválida para serem mais informativas. GitHub-37788
- Código obsoleto refatorado relacionado à criação de propriedades dinâmicas em toda a base de código.
- O desempenho dos indexadores para grandes lojas com bancos de dados de produtos extremamente ativos melhorou. Agora, os indexadores indexam as informações mais recentes do produto uma vez para cada índice, em vez de várias vezes. Anteriormente, os produtos desapareciam do site e os dados do produto podiam estar desatualizados no site. GitHub-30012
- O status do registro
mview_state
agora indica com precisão o estado baseado na atividade changelog quando uma conexão de banco de dados subordinada está disponível. Anteriormente, esses registros permaneciam em um estadowaiting
em implantações na nuvem, mesmo quando não havia novas entradas no changelog.
- Adicionado suporte para a opção
precision
para o formato de moeda para preservar a paridade de recursos com a classeZendCurrency
obsoleta.
- As mensagens de cookie foram convertidas em atributos observáveis e os desenvolvedores agora podem manipular o estado, o que pode acionar alterações na interface do usuário. Anteriormente, os cookies eram somente leitura e não podiam ser manipulados. GitHub-37308
- Os usuários administradores agora podem gerar uma fatura quando sua instância do Magento Open Source estiver conectada ao armazenamento S3.Anteriormente, Magento Open Source exibia esse erro:
Cannot create image resource. File not found
. GitHub-35706
- O Magento Open Source agora registra uma mensagem de exceção conforme esperado quando a validação do número IVA pelo serviço de validação VIES falha. GitHub-36065
- O nome
Administrators
foi removido da consulta usada para buscar a função de administrador durante a criação da função de administrador. GitHub-36998
- O comando
bin/magento setup:config:set
não falha mais quando um nome de usuário de banco de dados inválido é incluído no arquivoapp/etc/env.php
. GitHub-37409
- Classificar por coluna em palavras reservadas em um administrador padrão interface componente não resulta mais em um erro SQL em
var/log/exception.log
. GitHub-37423
- Adição
AddDataForCostaRica.php
para fornecer informações estatais para Costa Rica. GitHub-37382.
- Mensagem de erro aprimorada para o cenário em que o usuário tenta acessar um URL inválido do Administrador. GitHub-35682.
- A
Param $options[
posição]
para símbolos de moeda agora funciona como esperado e oferece suporte à personalização da posição do símbolo de moeda. Anteriormente, após a migração do Zend Framework 1, o métodotoCurrency
ignorava o parâmetroposition
. Esse problema ocorria em toda a interface do Administrador.
- Mutex foi implementado para pedidos para impedir condições de corrida durante a atualização por solicitações simultâneas. Anteriormente, solicitações simultâneas (condições de corrida) para cancelamentos solicitar causavam entradas duplicadas na
inventory_reservation
tabela.
- A
populateWithArray
função agora transforma as propriedades do objeto em letras cobra corretamente, tornando-a compatível com osAbstractModel
getters e setters. Anteriormente, a formatação de caso de cobra estava incorreta quando o nome do atributo de dados continha várias letras maiúsculas em uma linha.
- O valor de incremento automático na tabela
catalog_product_entity_varchar
agora é incrementado corretamente depois que um produto é salvo. Anteriormente, esse valor aumentava em dez.
- O Magento Open Source não lança mais esta exceção do sistema de arquivos quando você tenta liberar o cache do JavaScript/CSS:
No such file or directory
.
- O valor de
value_id
emcustomer_entity_int
agora está incrementado corretamente. Uma consulta atualização é executada em vez deinsert on duplicate key update
ao atualizar uma entidade que incorpora esses atributos. Como resultado, as colunas de incremento automático usadas no modelo EAV agora crescem de forma linear. Anteriormente, o processo de incremento automático para colunas ignorava valores devido a consultas de inserção com falha. GitHub-28387
- Remoção de espaço em branco desnecessário de
id
atributos que não o necessitam. (Esse bug foi introduzido por uma alteração de código 2.4.6 do Magento Open Source.)
- Os códigos de armazenamento não aparecem mais na URL de armazenamento quando o armazenamento está no modo de armazenamento único. GitHub-36831
- Foram feitas pequenas atualizações nos plug-ins do
around
. GitHub-31443
- As amostras
Helper
foram refatoradas para remover aliases de importação enganosos. GitHub-31373
- Os usuários administradores agora podem excluir ou renomear um arquivo
sitemap.xml
conforme esperado. Anteriormente, um usuário administrador podia excluir o arquivo do Administrador, mas ele permanecia no sistema de arquivos. GitHub-37468
- Os cupons não são mais sinalizados como usados quando o pagamento falha para a ordem à qual foram aplicados. As mensagens em fila agora são processadas na ordem em que são publicadas quando o consumidor é iniciado. Anteriormente, a primeira mensagem era retirada da fila para simplesmente verificar se as mensagens estavam na fila, e era rejeitada posteriormente, o que fazia com que a primeira mensagem fosse processada por último.
- O Magento Open Source não lança mais uma exceção no arquivo de registro quando um usuário tenta imprimir uma etiqueta de remessa. Anteriormente, se uma extensão modifica os cabeçalhos de resposta que contêm um anexo, o sistema gerava uma exceção na arquivo de log.
- O suporte para mais classes HTML foi adicionado para
elements.xsd
. GitHub-36891
Correções gerais
- Alterado o nome da variável
reponseBody
pararesponseBody
emapp/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog/NewConditionHtml.php
.GitHub-38093
- O agendamento de atualizações de produtos não apaga mais os dados de atributos de seleção múltipla. Anteriormente, quando uma atualização era agendada para um produto, os dados do atributo de seleção múltipla do produto eram apagados incorretamente. GitHub-37675
- Salvar um produto com um escopo de armazenamento não padrão não resulta mais em atributos inalterados tornando-se de escopo de armazenamento quando carregados usando
ProductRepository
. GitHub-8897
- Mensagens de erro informativas foram adicionadas à validação de campo personalizado nas páginas de detalhes do produto. GitHub-38006
- Caracteres especiais agora podem ser usados em campos de nome. Anteriormente, o caractere E comercial (&) era restrito no validador de nome, que bloqueava operações de adição ou edição de clientes quando o nome do cliente continha um E comercial. GitHub-38080
- Os usuários administradores com acesso restrito a uma loja específica agora podem usar uma ação de atualização em massa para atualizar análises de produtos. Anteriormente, o Magento Open Source lançou esta exceção:
report.CRITICAL: TypeError: array_intersect(): Argument #1 ($array) must be of type array, null given in app/code/Magento/AdminGws/Model/Models.php:439
.
- A funcionalidade Mostrar senha da página de logon da loja agora exibe senhas conforme esperado. Anteriormente, as senhas não eram exibidas. GitHub-37432
- A lista de comparação de produtos agora é sempre específica do site para compradores convidados e não contém produtos que foram adicionados dos outros sites, incluindo produtos que foram atribuídos a ambos os sites.
- Os blocos de conteúdo do CMS que contêm emojis não são mais truncados após o emoji quando salvos no banco de dados. Anteriormente, conteúdo era truncado após o emoji porque a configuração padrão do banco de dados não suportava caracteres de quatro bytes.
- As senhas agora são exibidas como esperado quando a Show Password caixa de seleção na fazer logon página está ativa.
- O atributo de sistema Redefinir Token de Senha da validação de entidade do cliente (
rp_token
) foi removido da validação de atributo durante a criação da conta do cliente, e a validação de diacríticos é incluída somente no email do cliente resultante. Anteriormente, o Magento Open Source não salvava o registro do cliente e exibia este erro:Something went wrong while saving the customer
.
- Agora é possível salvar as edições na grade Páginas de administração e Bloquear após excluir uma coluna. GitHub-37525
- Agora, os clientes podem fazer logon com êxito com uma nova senha de um dispositivo depois de redefinir a senha em outro dispositivo.
- O campo Endereço do cliente do administrador Estado/Província agora retém o último valor salvo conforme esperado. Anteriormente, ao remover o valor deste campo, o Magento Open Source continuava a exibir o valor excluído no campo Estado/Província. GitHub-36846
- Os erros não ocorrem mais durante solicitações de um feed RSS para categorias quando RSS Feed Top Level Category está habilitado. Anteriormente, navegar no RSS feed categoria página resultava em erros Elasticsearch
CRITICAL
nos arquivos de log quando RSS Feed Top Level Category estava ativado.
- O valor correto agora é salvo quando
gws_store_groups
função escopo é alterado durante usuário função criação. Anteriormente, quando o escopo de função era selecionado comoAll
, o valorgws_store_groups
era salvo como nulo durante a criação do usuário, mas não durante a edição da função. Além disso, se o escopo de função foi selecionado comoCustom
, então o valorgws_store_groups
sempre foi salvo como nulo.
- A página de redefinição de senha agora pode ser acessada clicando no link de redefinição de senha do Administrador na página de logon do Administrador quando a configuração Add Store Code to Urls estiver habilitada. O administrador redefinir senha link abriu redefinir senha anteriormente na fazer logon página ou 404 página.
- O intervalo de datas no painel de estatísticas de administrador agora é calculado com base no fuso horário definido nas configurações e depois convertido em UTC para obter dados do banco de dados.
- O filtro hierarquia CMS funciona conforme o esperado depois que você filtra uma armazenamento visualização em seguida, clique Save em Administração Content > Hierarchy. Anteriormente, o clique Save atualizava a página, mas o contexto era perdido e os armazenamento visualização não eram mais exibidos.
- Clicar no botão Send invitation (Administrador Marketing > Private sales > Invitation) agora envia uma solicitação POST junto com a chave do formulário e envia o convite com êxito. Anteriormente, ao clicar nesse botão, nem o método HTTP POST nem a chave do formulário estavam presentes.
- Agora os arquivos de zero bytes podem ser copiados com êxito para o armazenamento remoto com o AWS S3.
- Os usuários administradores agora podem adicionar um novo endereço de cliente do Administrador quando esse cliente for criado para outro site cuja ID da loja não corresponde à ID do site. Anteriormente, Magento Open Source exibia essa mensagem pop-up:
Something went wrong
. GitHub-36582
- A página do editor de bloco do CMS agora exibe o widget correto
block_id
valor. GitHub-29644
GraphQL
- A consulta
getCustomerWishlist
não resulta mais em um erro interno do servidor ao consultar listas que contêm produtos configuráveis.
- A consulta
customerCart
agora retorna todos os descontos aplicados em produtos agrupados conforme esperado. Anteriormente, os descontos totais aplicados a um produto de pacote eram retornados como zero.
- A consulta
getCustomerWishlist
não resulta mais em um erro interno do servidor ao consultar listas que contêm produtos configuráveis.
- A declaração do sinalizador
is_subscribed
, seu resolvedor, cache e testes associados foi movida do móduloCustomerGraphQl
para o móduloNewsletterGraphQl
.
- A
addProductsToCart
mutação não relata mais erros não relacionados emuser_errors
. Anteriormente, os erros relacionados ao carrinho eram incluídos emuser_errors
junto com os erros de operação esperados. GitHub-37908
- O filtro de produto de consulta
products
agora pode retornar resultados de correspondência parcial, bem como correspondências completas. O novo atributomatch_type
(PARCIAL, FULL) dá suporte à especificação do tipo de correspondência. Anteriormente, a consulta retornava somente correspondências completas.
- Mutex foi adicionado à consulta
addConfigurableProductsToCart
para evitar condições de corrida durante uma atualização por solicitações simultâneas. Anteriormente, quando um comerciante enviava duas solicitações paralelas para adicionar o mesmo produto configurável ao carrinho, dois itens separados com o mesmo SKU de produto eram adicionados. GitHub-37847
- A agregação de produtos nas respostas do GraphQL agora inclui valores diferentes de zero para atributos quando Use in Layered Navigation está definido como Filterable (no results). Anteriormente, somente valores diferentes de zero eram retornados.
- Melhorou o desempenho da consulta
setShippingAddressForEstimate
para operações relacionadas ao carrinho que envolvem atributos de produto personalizados. Anteriormente, a consulta carregava todos os atributos de produto quando os parâmetros eram enviados como variáveis.
- O campo
products
consultaConfigurableProduct.configurable_options
agora retorna somente valores que tenham pelo menos um produto habilitado. Anteriormente, esse campo retornava produtos simples desativados.
- Desempenho aprimorado do
GetCategories query
ao reduzir o número de consultas SQL desnecessárias geradas.
- A manipulação de erros de endereço para componentes de bibliotecas do GraphQL agora funciona conforme esperado.
- A consulta
products
agora retorna todos os detalhes relevantes de preço da loja quando o preço dinâmico é definido como não e os descontos são aplicados. Anteriormente, a faixa de preços dos produtos não era retornada. GitHub-35649
- Os nomes de transação do GraphQL agora incluem nomes de consulta de nível superior somente nos logs do New Relic. Anteriormente, os nomes de transação também incluíam nomes de consulta secundários.
- A manipulação de erros de endereço para componentes de bibliotecas do GraphQL agora funciona conforme esperado.
- Quando a configuração de Visibilidade de um produto está definida como
Catalog
,products
consultas nesse produto agora resolvem a configuração corretamente. Anteriormente, qualquer filtro fornecido era alternado para a configuraçãoVisibility: Catalog
. GitHub-36591
- A consulta
customer
agora retorna um campoproduct_sale_price
que inclui imposto sobre pedidos quando o preço do produto foi configurado para incluir imposto. GitHub-36946
- Os atributos de produto do tipo
DateTime
agora são mapeados para o filtroFilterRangeTypeInput
em consultas de produtos. Anteriormente, esses atributos eram mapeados paraFilterMatchTypeInput
. Como resultado dessa alteração, as consultas que filtram os atributosDateTime
exigem valoresfrom
eto
em vez de valores correspondentes.
- A consulta
customer
agora retorna somente análises de clientes relacionadas a uma visualização de loja específica, conforme esperado quando filtrada por ID de loja.
- A consulta
categories
não retorna mais um erro quando o valor de respostaitems.redirect_code
contém um valor nulo. GitHub-36675
- A mutação
changeCustomerPassword
agora aciona o email conforme esperado após redefinir uma senha com êxito.
urlResolver
eroute
consultas agora retornam um resultado quando oTarget Path
de reescrita de URL é uma URL absoluta. Anteriormente, a consultaurlResolver
retornava NULL quando você a usava para recuperar dados de redirecionamento.
- A consulta
products
agora retorna os rótulos corretos. GitHub-29635
- A
categoryList
query retorna uma seção preenchidaproduct
dooptions
bloco para pacote produtos secundários dos produtos, conforme esperado. Anteriormente, nenhuma informação sobre pacote produtos secundários eram retornadas.
- A consulta
route
agora retorna rotas para categorias e produtos conforme esperado, sem um erro interno do servidor. GitHub-36544
- A consulta
products
agora buscaurl_key
valores quando várias categorias são selecionadas.
products
consultas agora retornam agregações somente para produtos atribuídos ao catálogo compartilhado especificado.
- Os nomes das transações foram adicionados às transações do New Relic GraphQL. GitHub-36874
- O método
OptionValueProvider
classget()
agora retorna um valor de opção de atributo com base nooption_id
especificado, conforme esperado. Anteriormente, retornava um erro. GitHub-35910
- A consulta
products
agora retorna todas as agregações (filtros) disponíveis e seus rótulos traduzidos corretamente. Anteriormente, os rótulos de agregação de categoria e preço não eram traduzidos conforme esperado. GitHub-36140
- Agora você pode usar um fragmento
ProductCard
ao consultarrelated_products
,upsell_products
ecrossell_products
emProductInterface
. GitHub-29769
- A consulta
products
agora retorna produtos relacionados, de venda adicional e de venda cruzada na ordem em que foram salvos. GitHub-36461
- As consultas do GraphQL agora retornam dados de produtos relacionados classificados por posição. GitHub-33010
category_url_path
foi adicionado aProductAttributeFilterInput
, que oferece suporte à solicitação de todos os produtos para uma categoria em uma única consulta. GitHub-32460
- Correção de um erro em que o método que define o armazenamento atual em uma mutação GraphQL executada antes do método que lida com a validação. GitHub-31336
Imagem
- O formulário de carregamento de ícone de favicon de Administrador agora oferece suporte a
.ico
tipos de arquivos. GitHub-34858
Importar/exportar
- O processo de importação do produto agora analisa os valores com o separador correto. Anteriormente, o processo de importação usava o operador pipe ("|") para analisar valores multisselecionais até que o separador de valor determinado não fosse igual ao valor padrão. O processo de importação falhou posteriormente.
- Os redirecionamentos 301 são criados automaticamente quando
URL Key
os valores são atualizados CSV importação.
- As taxas da tabela de remessa agora são atualizadas conforme esperado no arquivo CSV de importação de taxa de tabela. O arquivo de upload da taxa de tabela é armazenado temporariamente até que o trabalho cron do processador de configuração assíncrono seja executado. Este trabalho cron seleciona o novo local do arquivo e o processa adequadamente. Anteriormente, as taxas da tabela não eram atualizadas conforme esperado porque o processador assíncrono procurava o arquivo no local errado.
- A grade Exportar arquivos agora mostra todos os arquivos exportados, independentemente do carimbo de data e hora. Anteriormente, a grade não exibia todos os arquivos exportados que tinham o mesmo carimbo de data e hora. GitHub-36951
- Os produtos com opções personalizáveis agora podem ser importados com sucesso. Anteriormente, os dados de opções eram perdidos durante a importação. GitHub-37598
- Caracteres especiais em arquivos CSV exportados agora são representados conforme esperado no Excel. GitHub-37921
- Importando fontes de estoque e endereços de clientes usando o Customers and Addresses (single file) agora a opção é concluída com sucesso.
- A importação do produto não falha mais devido à falta de memória. Anteriormente, a importação de qualquer número de produtos para um banco de dados que já contém aproximadamente dez milhões de produtos falhou devido à falta de memória.
- As verificações de validação agora interrompem o processo de importação conforme esperado, quando não há dados válidos para importar, e Magento Open Source agora exibe esse erro:
There are no valid rows to import
. Anteriormente, validação passados nessas condições, mas o processo de importação falhava com esta mensagem:entity values are mixed
. GitHub-32905
- A importação URL teclas com o mesmo produto não substitui mais ou exclui chaves padrão armazenamento existentes visualização. URL regravações são regeneradas para exibições armazenamento somente quando não houver valor substituído
url_key
. Anteriormente, a importação de URL regravações com a mesma URL chave sobrescrevia a armazenamento padrão existente visualização URL tecla. (key_store
URL regravações foram excluídas, mas a URL regravação no nível padrão armazenamento visualização para o produto ainda estava definida comokey_store
.)
- A contagem de produtos não altera mais inesperadamente durante a importação. A liberação do cache agora é adiada para depois do processo de importação.
- O status das ações de importação agendadas agora representa precisamente o sucesso ou a falha da operação de importação. Anteriormente, todas as ações eram registradas como bem-sucedidas.
- Magento Open Source agora leva a conta a configuração durante a Disable Automatic Group Change Based on VAT ID importação de registros do cliente. Anteriormente, o
disable_auto_group_change
valor nos arquivos de importação era ignorado. GitHub-36409
Magento\Framework\Convert\Excel
agora manipula com êxito números que são precedidos por um espaço. O XML do Excel agora codifica campos como umString
. Anteriormente, o gravador do Excel codificava esses valores comonumber
, o que resultava em arquivos inválidos. GitHub-33422
- Os comerciantes agora podem especificar o local em que os dados de importação são apresentados e como os validadores de dados devem analisar esses dados. Se um valor de local não for especificado, o Magento Open Source usará o local de configuração padrão (não a exibição de armazenamento padrão) para analisar os dados. No Admin, os processos de importação e exportação continuam a usar o local da interface do usuário do administrador para importar, analisar e formatar dados, respectivamente.
- Importar produtos com
country_of_manufacture
atributos criados por uma administrador usuário com uma configuração de localidade diferente da administrador usuário que está importando os produtos não gera mais um erro validação. Anteriormente, essa operação de importação poderia resultar em um erro validação nocountry_of_manufacture
atributo.
- Os produtos exportados agora têm o valor
manage_stock
correto quando o valoruse_config_manage_stock
é igual a1
. Anteriormente, esse valor padrão estava incorreto.
- O Magento Open Source agora exibe uma mensagem de erro informativa na grade de importação agendada quando uma imagem não é importada com êxito durante uma operação de importação agendada. Anteriormente, nenhuma mensagem de erro era exibida.
- O processo de importação do produto não é mais interrompido quando as imagens do produto estão ausentes. Anteriormente, quando uma imagem do produto estava ausente durante a importação de um serviço de terceiros usando um arquivo CSV, o Magento Open Source exibia este erro:
Maximum error count has been reached or a system error is occurred!
.
- O processo de importação de produto não lança mais um erro de validação quando um valor de atributo na coluna
configurable_variations
contém uma vírgula.
- A decodificação foi excluída do processo de exportação. O texto do arquivo de exportação de arquivos CSV permanece inalterado após a importação. Como resultado, a descrição não é alterada após a reimportação. Anteriormente, as tags do HTML eram removidas do editor do Page Builder após a exportação e importação do produto.
- Configurações não padrão (escopo de site ou de repositório) que são adicionadas como variáveis de ambiente não interrompem mais o processo
app:config:import
com um erro de recursão.
- A pesquisa no catálogo e os indexadores de preço no modo Atualizar ao salvar não são mais invalidados após a importação. Anteriormente, a versão do documento do Indexador do Elasticsearch era alterada quando produtos novos e existentes eram importados.
- Os relatórios de produtos agora são exportados para o diretório
var
. Anteriormente, esses relatórios eram exportados para o diretório raiz do documento, que é um diretório somente leitura em instâncias da nuvem.
- Campos vazios de endereço de vários clientes selecionados não interrompem ou interrompem o processo de exportação.
Índice
- Desempenho aprimorado do
catalogrule_product
indexador quando nenhum regra de catálogo está definido. GitHub-34784
- Problemas com o desempenho do indexador de preços foram resolvidos. O desempenho do indexador não se degrada mais gradualmente. O indexador foi refatorado para aumentar a velocidade de processamento do indexador, alterando a forma como as tabelas temporárias são criadas. Essas tabelas temporárias agora são recriadas em vez de serem abordadas por instruções DELETE mais demoradas.
- O desempenho do indexador de preços foi aprimorado. Uma dica de índice foi adicionada ao indexador de preço que melhora os tempos de execução de consultas MySQL que são acionadas durante a indexação.
- Todos os indexadores agora usam as mesmas cores para representar o estado do indexador. GitHub-34648
- O desempenho do indexador do Produto de regra de catálogo em implantações em que as regras não são atribuídas a todos os sites foi aprimorado.
- Criar um tipo de produto personalizado quando os indexadores estão configurados para Update on schedule não causar mais a falha de atualização
cron
de índice tarefa. GitHub-36471
bin/magento indexer:reindex customer_grid
não falha mais com um erro MySQL quando a grade do cliente inclui atributos personalizados do cliente recém-criados. GitHub-36233
- A alteração do modo do indexador para vários indexadores (isto é, uma alteração do modo do indexador de ação em massa) agora altera o modo de um indexador somente quando o modo atual é diferente daquele que está sendo aplicado. Isso melhora o desempenho, evitando viagens desnecessárias ao banco de dados. GitHub-36823
- A indexação de produtos com muitas opções de atributo foi aprimorada. GitHub-36386
Infraestrutura
- Adição de uma instrução
return
ausente ao controlador de habilitação de uso de Admin. Anteriormente, não havia instruçãoreturn
e o controlador na classeFrontendController
era manipulado incorretamente. GitHub-31374
- MySQL
CREATE TEMPORARY TABLE ... LIKE
substituído porCREATE TEMPORARY TABLE
refatorado para conformidade com MySQL 8.x. GitHub-37926
- O Magento Open Source não inclui mais o caminho completo para a raiz do servidor na mensagem de erro que é exibida quando uma solicitação HTTP malformada é enviada ao servidor. Somente as cadeias de caracteres agora são passadas para o método
explode
como segundo argumento.
restricted_classes.php
substituiuZend_Validate_File_Upload
. Anteriormente, o validador falhou durante o carregamento de um arquivo de importação maior que o valor configurado emphp.ini
. GitHub-37281
- O mecanismo de modelo de email agora pode processar corretamente determinadas diretivas aninhadas (por exemplo,
{{if}}{{depend}}...{{/depend}}{{/if}}
). GitHub-36438
product
consultas com dados de agregação agora retornam os valores de rótulo corretos para atributos de produto do tipo Booleano. GitHub-29123
- Adição de regiões ucranianas à tabela
directory_country_region
. GitHub-35187
- Os arquivos CSS não estão mais corrompidos quando mesclados quando
var/tmp
epub/static
estão em sistemas de arquivos diferentes e CSS Merging Enabled está habilitado. Foram criados arquivos temporários no mesmo diretório estático do arquivo de destino para garantir que ambos os arquivos estejam no mesmo sistema de arquivos. Como resultado, a chamada para renomeá-lo é atômica. GitHub-29172
- Correção de um erro potencial ao chamar uma função de membro
getId()
emint
, que ocasionalmente disparava uma exceção quando um cliente era visualizado no Administrador.
- As verificações de tipo agora são aplicadas para o tipo de matriz no processador de configuração do tema de design. GitHub-34440
Inventory management
- Os produtos agora são automaticamente retornados ao status Em estoque após um aviso de crédito que inclui um retorno da quantidade do produto. Anteriormente, se um produto estava esgotado, mas um aviso de crédito devolvia o estoque desse produto, os comerciantes tinham que alterar manualmente o status do estoque do produto.
- Desempenho aprimorado do indexador de inventário no modo assíncrono, removendo solicitações redundantes para reindexar itens de origem padrão.
- Correção de problemas com o indexador de Inventário que afetavam a precisão da contagem de estoque da loja de produtos configuráveis. GitHub-36421
- A atualização de itens de origem de estoque via REST
V1/inventory/source-items
agora funciona mais rápido. A chamada não aciona mais uma operação de reindexação ou de cache limpo em produtos de inventário inalterados.
- REST
V1/products/<sku>
agora aciona uma reindexação automática de estoque ao atualizar o status de estoque de um produto. Anteriormente, uma reindexação de estoque não era acionada para o produto que estava sendo atualizado.
- O status configurável do estoque do produto foi atualizado na loja conforme esperado quando os produtos derivados são atualizados por
V1/inventory/source-items
.
- A chamada REST
POST <store_code>/V1/inventory/source-items
agora valida a carga de espaço em branco em itens de origem de estoque retornados e envia uma mensagem de erro sobre a validação, conforme necessário.
- Os comerciantes agora podem notificar os compradores de que um pedido está pronto para retirada quando a configuração No Manage Stock estiver habilitada para um produto. Anteriormente, quando esta configuração era habilitada, o Magento Open Source exibia esta mensagem de erro:
Your order is not ready for pickup
.
- Os comerciantes agora podem criar um aviso de crédito para pedidos dos quais um produto simples associado a um produto configurável foi excluído. Anteriormente, os comerciantes não podiam criar o memorando de crédito, e o Magento Open Source lançou uma exceção
TypeError
.
- A contagem de origem da grade de administração agora retorna registros válidos após a aplicação de um filtro. Anteriormente, o método
getSourcesCount
sempre retornava o número total de origens após a aplicação de um filtro.
- A página Categoria não redireciona mais para o painel Administrador ao classificar produtos usando a opção "Mover do estoque para o final". O problema foi resolvido colocando a instrução de junção SQL dentro da instrução condicional somente depois de garantir que ela já não esteja incluída. Anteriormente, a página era redirecionada para o Painel de administração com a mensagem:
Invalid security or form key. Please refresh the page
.
AUTO_INCREMENT
da tabelainventory_source_item
não aumenta mais com cada operaçãoUPDATE
. Anteriormente, cada atualização aumentava oAUTO_INCREMENT
desta tabela, o que eventualmente fazia com que o valorAUTO_INCREMENT
ficasse fora do intervalo ao adicionar um novo registro aoinventory_source_item table
. Como resultado, usuários administradores receberam o seguinte erro ao tentar criar um novo produto pelo Administrador:Numeric value out of range...
.
- Os usuários administradores agora podem adicionar um produto a um carrinho do cliente a partir do Administrador para um escopo de exibição de loja específico com o Inventory management. Anteriormente, a ID do estoque não era determinada corretamente e os usuários administradores não podiam adicionar o produto ao carrinho do cliente.
- A sincronização entre o Inventário e o catálogo não depende mais da configuração Synchronize with Catalog. Anteriormente, os produtos eram sincronizados corretamente somente quando essa configuração era ativada.
- O Magento Open Source não lança mais um erro após o recarregamento da página quando um comprador deduz uma quantidade de produto de um pedido que está dentro da faixa de produto disponível ao selecionar a origem do envio.
- O status do estoque de produtos configuráveis agora é atualizado corretamente quando o valor de um produto configurável e seus produtos derivados
Stock Availability
é atualizado por uma atualização de estoque em massa. Anteriormente, não era possível retornar um produto configurável e seus produtos secundários para o estoque por atualização em massa.
- O tipo de dados de fontes não padrão foi atualizado para oferecer suporte a
DECIMAL (12, 4)
até oito dígitos inteiros, que é o mesmo limite implementado para o estoque padrão. Esse valor agora está em sincronizar com a administração adicionar e editar páginas de produtos, que oferecem suporte para entrada validação de até oito dígitos para todos os tipos de fontes de inventário. Anteriormente, só havia suporte para até seis dígitos na entrada do campo Quantity (para fontes não padrão).
- As origens padrão e não-padrão agora exibem as informações corretas para a quantidade comercializável do produto quando uma origem não-padrão solicitada na loja é processada para entrega. Anteriormente, o Magento Open Source exibia status de estoque incorreto para fontes de produtos.
\Magento\Catalog\Model\Product::getIsSalable()
agora retorna o status de estoque com base no escopo definido no objeto de produto (\Magento\Catalog\Model\Product::getStoreId()
). Anteriormente,getIsSalable()
retornava o status do estoque com base no escopo atual, independentemente do objeto do produto.
Logs
- Os usuários administradores agora podem ver os logs de ações em massa criadas por integrações na seção Log de ações em massa do Administrador.
Logon
- Redefinir uma senha em um navegador e fazer logon posteriormente por um navegador diferente não resulta mais em uma exceção. GitHub-36447
- Os clientes agora são redirecionados para a página de logon após ativar uma conta conforme esperado. Antes, os clientes eram conectados automaticamente.
Informativo
- O Commerce agora verifica se a funcionalidade de assinatura do boletim informativo está ativada antes de aceitar novos assinantes para um boletim informativo. GitHub-33040
Pedidos
- Os produtos movidos do carrinho de compras de Administrador para a lista de itens a serem solicitados agora são excluídos, conforme esperado, do carrinho de compras. GitHub-37538
- Os comerciantes agora podem criar avisos de crédito conforme esperado para o retorno parcial de pedidos que foram pagos em parte por pontos de recompensa. Anteriormente, quando um comerciante criava uma devolução parcial, o status do pedido era identificado incorretamente como fechado, e a página de pedido do administrador não exibia opções de aviso de crédito.
- O Magento Open Source agora aplica o valor de desconto correto a pedidos parcialmente cancelados. Anteriormente, o valor do desconto conforme calculado na coluna
base_discount_cancelled
era calculado incorretamente quando um pedido era alterado. O suporte para valores negativos foi adicionado às faturas de pedidos com desconto.
- O Magento Open Source agora classifica atributos personalizados de endereço do cliente com base na ordem de classificação fornecida quando o usuário administrador criou o pedido no Administrador.
- A página Grade de Ordens de Venda de Administrador agora é carregada conforme esperado quando um comerciante inicia uma pesquisa nessa página. Anteriormente, quando um comerciante tentava pesquisar pedidos dessa tabela, a página congelava e o Magento Open Source exibia um erro
Request-URI Too Long
no console do navegador.
- Melhorou o desempenho do método
OrderRepository::get()
ao reduzir o número de vezes que ele carrega um pedido do banco de dados. Anteriormente, esse método carregava um pedido várias vezes. GitHub-36636
- Os comerciantes agora podem gerar avisos de crédito para ordens que contêm alguns itens com um total zero quando outros itens da ordem estiverem disponíveis para reembolso. Anteriormente, os comerciantes não podiam realizar vários reembolsos quando um cliente tinha um desconto de 100% em alguns itens no pedido.
- Os links entre produtos filho e pai agora são exibidos na página do pedido durante a reorganização do produto filho do Administrador. GitHub-37028
- A emulação agora inicia durante
send()
chamadas assim que a emulação é concluída durante a chamadagetInfoBlockHtml()
e nenhum erro é registrado. Anteriormente, o arquivosystem.log
estava inundado com este erro:main.ERROR: Environment emulation nesting is not allowed
. GitHub-35603
- Os comerciantes agora podem gerar avisos de crédito para ordens que contêm alguns itens com um total zero quando outros itens da ordem estiverem disponíveis para reembolso. Anteriormente, os comerciantes não podiam realizar vários reembolsos quando um cliente tinha um desconto de 100% em alguns itens no pedido.
- Os links entre produtos filho e pai agora são exibidos na página do pedido durante a reorganização do produto filho do Administrador. GitHub-37028
- A seção de cabeçalho da página do pedido agora contém as informações esperadas sobre a fatura enviada, o aviso de crédito e a remessa. GitHub-27474
- Os avisos de crédito para pedidos que contêm apenas um produto configurável agora são gerados corretamente. Anteriormente, a função
isLast()
não retornavatrue
conforme esperado. GitHub-36722
- Desempenho aprimorado do trabalho cron
aggregate_sales_report_bestsellers_data
ao otimizar a consulta de dados principal.
- O status do pedido agora está correto quando um pedido que contém produtos agrupados foi reembolsado parcialmente. Anteriormente, o status do pedido era listado como concluído após a emissão de um reembolso parcial, mesmo que o pedido restante não estivesse completo. GitHub-37377
- Os compradores não podem mais solicitar um produto usando um preço personalizado quando um pedido é gerado pela primeira vez pelo administrador usando o preço personalizado único. Anteriormente, se um pedido continha um item com preços personalizados, esse preço personalizado era aplicado a outros pedidos feitos com a funcionalidade de novo pedido.
- Os compradores não podem mais salvar status de pedidos incorretos na página de pedidos. O status do pedido não é mais alterado de Concluído para Processamento quando um item é entregue. Anteriormente, o Magento Open Source não verificava o status atual do pedido antes de salvar o status do pedido depois que um comprador inseria um comentário. GitHub-36562
- A grade da ordem de venda agora é sincronizada de forma assíncrona com todas as ordens, conforme esperado. GitHub-36562
- A funcionalidade filtrar por data de compra na seção pedidos do cliente da página pedidos agora funciona conforme esperado. Anteriormente, um erro de JavaScript ocorria quando a lógica de conversão de fuso horário exibia um erro quando o mesmo fuso horário era fornecido ao método.
- O painel Admin agora exibe as estatísticas de pedidos corretas na primeira carga. Anteriormente, o painel exibia informações incorretas sobre a ordem, mas exibia as informações corretas depois que o período era atualizado.
- Os usuários administradores agora são redirecionados como esperado para a página de pedido depois de selecionar uma visualização de loja durante a criação de novo pedido pelo Administrador.
- O ponto de extremidade
GET V1/orders/<OrderID>
agora retorna informações sobre os produtos configuráveis e simples do pedido, independentemente do status do estoque dos produtos simples. Os usuários administradores agora só podem fazer pedidos se os itens selecionados (produtos) estiverem em estoque ou forem comercializáveis. Anteriormente, essa API retornava informações apenas sobre os produtos que estavam em estoque.
- A página de aviso de crédito não trava mais quando o frete gratuito está habilitado quando o preço do frete inclui imposto e os cálculos de imposto são aplicados após os descontos. Anteriormente, o Magento Open Source lançava uma exceção
Division by zero
. GitHub-36800
- Usar o ponto de extremidade
rest/V1/orders/{id}/comments
para postar um comentário sobre um pedido sem fornecer o status do pedido não afeta mais a exibição do pedido. Anteriormente, o status do pedido era registrado como NULL nas tabelassales_order
esales_order_grid
, e nem a página Meus pedidos nem a grade de pedidos do administrador exibiam o pedido. GitHub-34180
Page Builder
- Agora as imagens mantêm a proporção correta quando redimensionadas no Page Builder. GitHub-37493
- O Page Builder agora exibe mensagens de erro conforme necessário quando você tenta fazer upload de uma imagem maior do que o tamanho máximo de arquivo especificado. Anteriormente, o Commerce exibia uma mensagem pop-up de alerta para arquivos de imagem carregados que eram menores que o máximo especificado.
- Os controles deslizantes de produto da página do CMS agora incluem os produtos principais de qualquer produto secundário que foi selecionado para inclusão no controle deslizante. Anteriormente, os produtos principais eram excluídos do controle deslizante.
- Os conteúdo convertidos em HTML agora são exibidos em modelos de email conforme esperado quando o
Magento_AsyncConfig
módulo é desativado. Anteriormente, os modelos de email continham apenas HTML bruto.
- O desempenho das operações de salvamento Page Builder no Cromo navegador melhorou.
- Adicionar um produto a uma carrinho de compras do carrossel Page Builder não duplica mais o item quantidade das páginas com dois widgets diferentes exibindo os mesmos produtos.
- Page Builder não adicionar mais o
tabindex
atributo HTML a tagsa
de hiperlink ao editar um hiperlink e salvar uma modelo.
- O widget de produtos e o Page Builder pré-visualização agora lidam com caracteres especiais em HTML corretamente. Anteriormente, o widget do produto não exibia corretamente os SKUs que continham o
&
caractere.
- O conteúdo do elemento de texto do Page Builder agora é atualizado conforme esperado ao selecionar e atualizar o bloco de conteúdo completo no modo de visualização.
- Copiar e colar texto de um editor de texto do Page Builder para outro agora funciona conforme esperado. Anteriormente, o página no qual você tentou colar o texto não podia salvar e Magento Open Source exibia este erro do console:
[ERROR] Page Builder was rendering for 5 seconds without releasing locks.
.
- O tipo de conteúdo
column-block
do Page Builder que foi criado em versões mais antigas do Page Builder agora é exibido corretamente.
- A filtragem para o produto metadados descrição durante a criação do produto no Administrador foi aprimorada. Anteriormente, se Page Builder estavam habilitados, o produto metadados descrição era gerada com base na máscara padrão
{{name}} {{description}}
. A máscara de metadados de produto padrão agora é composta por{{name}}
. GitHub-36107
- A adição de um bloco dinâmico sem conteúdo não aciona mais um erro.
- Problemas com a exibição de colunas no conteúdo do Page Builder foram resolvidos. Anteriormente, o conteúdo do tipo de conteúdo
column-line
não era renderizado. GitHub-3949
Pagamento
- Agora o Magento Open Source lida corretamente com erros 502 do PayPal, impedindo a criação de pedidos quando esse erro ocorre. Anteriormente, os pedidos ainda eram criados apesar de um erro 502 do PayPal, que cliente potencial a inconsistências entre Magento Open Source registros e PayPal.
- PayPal transações de Verificação expressa agora incluem SKUs de produtos secundários e títulos completos de produtos. O
Magento/Paypal/Model/Cart.php
arquivo agora coleta SKUs de produtos secundários com o título do produto principal para identificar o título do produto com a SKU secundária. GitHub-36808
- A Card Security Code Does Not Match configuração agora é processada conforme esperado durante o processo de pagamento Pro do payflow. Anteriormente, esse processo de avaliação nunca era concluído, o que bloqueava o check-out.
- A opção de método de pagamento Vault não aparece mais no fluxo de Trabalho de check-out do Administrador quando o consumidor não tem um token de cofre. GitHub-36273
- O Venmo botão agora pode ser oculto quando os botões PayPal estão ativados. Anteriormente, o Venmo botão não podia ser removido das páginas de carrinho, mini carrinho, detalhes do produto ou das páginas de checkout.
- Os compradores agora podem selecionar um método de envio ao aplicar cupom código durante o check-out. Anteriormente sob essas condições, Magento Open Source ocorreu um erro e atribuiu o frete de taxa única ao solicitar.
- Problemas com o processamento de vitrine de PayPal e PayPal métodos de pagamento de crédito foram resolvidos.
- Solução de problemas com URLs de fallback para pedidos pagos com pagamentos ideais quando o pagamento local está ativado.
- Os compradores não podem mais criar um PayPal solicitar sem adicionar um sobrenome.
Braintree
- Braintree informações de pagamento agora são salvas por armazenamento, e os compradores agora vêem apenas cartão informações que foram salvas nos armazenamento em que estão fazendo compras. Anteriormente, os compradores podiam ver informações de cartão armazenadas de todas as lojas durante o check-out. GitHub-34253
- Os compradores agora podem verificar uma solicitar sendo enviada para vários endereços usando um método de pagamento Braintree quando o cofre para pagamentos cartão é desativado. GitHub-37615
- Os pedidos parcialmente faturados agora são capturados conforme esperado na conta correta em implantações em que os comerciantes têm duas IDs de conta de comerciante diferentes para a mesma moeda em sua conta do Braintree.
- A Magento Open Source não lança mais um erro ao criar uma segunda fatura parcial para um pedido pago pela Braintree quando o Enable Vault for Card Payments está habilitado. Anteriormente, quando um comerciante tentava criar uma segunda fatura, a Magento Open Source exibia este erro:
Your payment could not be taken. Please try again or use a different payment method. Payment method token is invalid
.
- A opção de método de pagamento do Braintree Vault não é mais desmarcada automaticamente no workflow 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.
- Solução de problemas ao fazer check-out do PayPal pelo Braintree após a atualização do Adobe Commerce 2.4.5-p2. GitHub-37242
- Os números de telefone agora são renderizados conforme esperado com endereços nos campos de endereço de envio pop-up modal de Pagamento do Google. Anteriormente, os números de telefone estavam ausentes.
- Os pedidos agora são feitos com êxito com o Braintree quando a resposta do Braintree inclui um valor vazio para
threeDSecureInfo/eciFlag
. Anteriormente, um erro de PHP ocorria durante o check-out quando este valor estava vazio.
- O Magento Open Source não lança mais um erro quando um comprador aplica um cupom na página de revisão do pedido ao fazer check-out com o Google Pay do minicarrinho. Anteriormente, os compradores eram redirecionados para uma página 404.
- Os compradores agora podem concluir a finalização usando o Braintree Payments e o Magento Open Source 2.4.6 com ReCAPTCHA v2 ou v3 invisível. GitHub-37241
- Os compradores não podem mais clicar na PayPal botão para comprar um produto configurável sem antes selecionar as opções necessárias. Anteriormente, os compradores podiam clicar na PayPal botão e, posteriormente, redirecionados de volta ao página do produto com um erro:
- A PayPal botão agora é exibida conforme esperado nas páginas de carrinho e mini carrinho. Anteriormente, esse botão não era exibido na carrinho página e duplicado no mini carrinho página.
Desempenho
- Vários cliques no menu suspenso Ação em massa do > de Vendas página não geram mais várias solicitações POST. GitHub-37997
- Somente
200
ou404
respostas são armazenadas em cache quando um comprador navega para uma página que aciona um redirecionamento 301, a menos que o cabeçalho Cache-Control da página contenhaprivate
. Anteriormente, um status HTTP 200 comprivate
no cabeçalho Cache-Control era armazenado em cache, e um status HTTP 301 era armazenado em cache, a menos que contivesseprivate
em seu cabeçalho Cache-Control. GitHub-36492
- Removido o
Magento\Catalog\Controller\Adminhtml\Product\Initialization\Helper
não utilizado deMagento\Catalog\Model\ProductRepository
. Anteriormente, oProductRepository
carregava este auxiliar, que é um controladorAdminhtml
. GitHub-37864
- Melhor desempenho da velocidade de carregamento da página quando muitas opções são adicionadas aos produtos agrupados. GitHub-29409
- O processo de atribuição de produtos a categorias da guia Products in Category foi otimizado. Os botões Assign e Remove na guia Add Product by SKU agora estarão desabilitados até que os produtos sejam totalmente carregados na grade. Anteriormente, os usuários administradores não podiam adicionar produtos por SKU em catálogos que continham milhões de produtos registrados.
- O desempenho da mutação
addProductToCart
ao ser executada com muitos atributos de produto personalizados melhorou. Anteriormente, quando essa mutação era executada com muitos atributos de produto ( aproximadamente 1000), o Magento Open Source tentava carregar todos os atributos de produto.
- Problemas de desempenho ao carregar atributos de produto usados pelas regras do carrinho foram resolvidos. Somente os atributos de produto para regras de carrinho ativas agora são carregados.
- O comando
bin/magento setup:perf:generate-fixtures setup/performance-toolkit/profiles/ee/small.xml
agora é executado com êxito quando executado várias vezes. Anteriormente, ocorreu este erro quando executado mais de uma vez:Coupon with the same code already exists
.
Promoção
- Os efeitos da regra de preço Fixed amount discount for whole cart, quando aplicados com a regra Apply to shipping amount, agora são distribuídos proporcionalmente, conforme esperado, entre os produtos e os valores de remessa. Anteriormente, os cálculos de desconto estavam incorretos.
- A configuração Discard Subsequent Rules agora é aplicada conforme esperado. Quando esta configuração está habilitada, outras regras com baixa prioridade podem ser aplicadas somente a um produto diferente. GitHub-35707
reCAPTCHA
- O reCAPTCHA v3 invisível agora funciona como esperado para o botão da página de check-out Sign in. Anteriormente, os compradores não podiam fazer logon e o Commerce gerava erros no JavaScript.
- O Google reCAPTCHA no workflow de finalização agora funciona como esperado para cheques, ordens de pagamento e métodos de pagamento personalizados.
- Os formulários do Adobe Commerce não podem mais ser enviados antes que a caixa de seleção Google ReCAPTCHA seja carregada.
- O widget reCAPTCHA agora precede o botão Place Order na página de pagamento. Anteriormente, o widget era exibido na parte superior da página.
Relatórios
- O relatório Pedidos (REPORTS > Sales > Orders) agora inclui valores de pedidos corretos quando os pedidos são gerados por lojas que usam moedas não padrão. Anteriormente, esse relatório incluía valores incorretos. GitHub-36742
- Informações enganosas no formulário de relatório de ordem de venda foram revisadas para maior clareza.
- Os usuários administradores agora podem pesquisar registros com emails que contêm
+
(mais) sinais na página Relatório de carrinhos abandonados. GitHub-36560
Pesquisar
- As sugestões de pesquisa de preenchimento automático no front-end de mini pesquisa do cabeçalho agora funcionam conforme esperado. Anteriormente, o preenchimento automático não preenchia esse campo quando esse recurso era ativado. GitHub-37557
- O desempenho de consultas feitas na barra de pesquisa Admin foi aprimorado com a adição de um indexador. Anteriormente, quanto maior a tabela
search_query
, mais demorava para a conclusão da consulta.
- A classificação alfabética de produtos por nome agora funciona corretamente para nomes que contêm caracteres turcos.
- A propriedade de atributo de produto Use in Search Results Layered Navigation agora é exibida somente quando a configuração Use in Search está definida como Yes.
- O preço da pesquisa avançada e os filtros SKU agora funcionam corretamente quando aplicados juntos em uma pesquisa avançada. GitHub-37581
- As pesquisas não são mais executadas para campos de pesquisa vazios. Isso reduz o tamanho da tabela
search_query
. Anteriormente, consultas incorretas ou consultas em campos de pesquisa vazios retornavam um enorme conjunto de dados, o que aumentou o tamanho da tabelasearch_query
e resultou em problemas com/tmp
.
- Agora os filtros de vitrine eletrônica funcionam como esperado ao classificar entradas de catálogo com atributos personalizados suspensos.
- Os resultados da pesquisa agora exibem resultados relevantes com base no peso da pesquisa dos atributos, conforme esperado.
- O texto informativo no campo de entrada
Storefront Properties
do atributoSearch Weight
em Admin Stores > Attributes > Product agora descreve os valores possíveis. GitHub-36646
Envio
- As regras de preço do carrinho agora funcionam como esperado quando um produto combinado é adicionado ao carrinho quando os atributos de preço dinâmicos estão desativados. O frete grátis e a taxa de tabela correta são aplicados independentemente do atributo dinâmico estar ativado ou desativado. Anteriormente, o frete grátis não era aplicado conforme esperado.
- A Magento Open Source agora faz a transição para uma nova página de remessa, conforme esperado, após criar uma remessa parcial de um pedido. Anteriormente, após a criação de uma remessa parcial, a Magento Open Source não criava uma página de remessa completa para os produtos restantes do pedido. GitHub-38063
- O valor total para enviar um pedido para vários endereços agora é calculado corretamente. Anteriormente, quando uma cotação continha mais de um endereço de entrega, o coletor total atualizava o valor da remessa para o endereço fornecido em
$quote->getShippingAddress()
, em vez de passá-lo por$shippingAssignment
, conforme esperado. GitHub-37283
- O Magento Open Source não lança mais uma exceção durante o check-out com vários endereços de envio quando o usuário administrador tiver usado o logon como recurso do cliente.
- Os produtos agora são listados corretamente na grade Produtos da página Criar pacotes quando você adiciona produtos a um pacote após a criação do rótulo de remessa.
- A consulta
cart
agora retorna descontos de remessa discretos como descontos de remessa separados com etiquetas de desconto exclusivas. A nova propriedade de descontoapplied_to
oferece suporte à diferenciação entre descontos aplicados a um item de carrinho. Anteriormente, todos os descontos de envio eram combinados em um valor codificado de Shipping Discount.
- Quando um usuário administrador cria um novo pedido, os endereços de cobrança e de envio do pedido inicial preenchem automaticamente os campos relevantes quando o usuário administrador clica no botão Reorder (Administrador Sales > Orders > View ). Se os mesmos endereços forem salvos no catálogo de endereços do comprador, a reorganização sempre incorporará uma versão atualizada desses endereços. Anteriormente, o campo Endereço de entrega era pré-preenchido com os dados atualizados, mas o campo Endereço de cobrança não era.
- A caixa de texto Shipping Policy agora estará visível no escopo do Modo de Exibição de Repositório de Administração quando Apply custom Shipping Policy estiver habilitado e uma política de envio personalizada estiver disponível. GitHub-36425
- A consulta
cart
agora retorna um valorselected_shipping_method
que corresponde a um dos códigos da operadora e do métodoavailable_shipping_methods
. Anteriormente, quando um dos métodos de envio selecionados continha um sublinhado, esses códigos de transportadora/método eram incompatíveis. GitHub-36606
- A mutação
setShippingAddressesOnCart
não lança mais um erro quando o segundo valor na matriz de rua é nulo. Anteriormente, esta exceção foi gerada:The address failed to save. Verify the address and try again
. GitHub-35160
Mapa do site
- O mapa do site XML agora funciona conforme esperado em um implantação multistory. Anteriormente, os mapas do site não continham as páginas padrão atribuídas para cada armazenamento. GitHub-35001
- Os comerciantes agora podem criar e salvar um produto quando o site
id != 1
e o modo de armazenamento único estão ativados. Anteriormente, a ação salvar falha com esta mensagem:SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails
. GitHub-35009
Imposto
- Agora as faturas exibem o subtotal correto quando os impostos são configurados e o FPT é ativado.
- O Magento Open Source agora exibe o valor correto para o valor Regular Price quando uma opção personalizada é selecionada para um produto que tem um valor Special Price quando Price Display Settings está definido para incluir imposto.
- Agora, o imposto está incluído como esperado na finalização fluxo de Trabalho preço de envio, conforme especificado pelas configurações.
- O valor de resposta da consulta
cart
applied_taxes
agora inclui todas as regras de imposto individuais conforme esperado. Anteriormente, retornava o valor total do imposto quando várias regras fiscais eram configuradas.
- O ícone recolher/expandir para a seção durante a Additional Settings criação do regra fiscal agora funciona conforme o esperado. Anteriormente, somente o ícone de expansão funcionava. GitHub-37922
- Agora é possível editar o valor da Taxa de Imposto país e região na edição de Regra Fiscal página conforme o esperado. Anteriormente, as edições feitas a partir desse página não eram salvas.
- O valor do imposto na área de estimativa carrinho agora é atualizado conforme esperado quando o método de envio é atualizado. Anteriormente, a taxa de imposto não era atualizada depois que uma consumidor mudou o país durante o check-out.
- O
tax class
valor de produtos simples recém-criados agora é definido para o valor do produto principal ao criar novas variações de um produto configurável existente na Store Exibir escopo. Anteriormente, esse valor era definido como nenhum. Como resultado, nenhum imposto foi adicionado a esses produtos no carrinho, e os clientes estavam sujeitos a um imposto inferior. GitHub-37180
Teste
- Aprimoramento da
AdminCreateOrderWithVirtualProductFromDefaultSourceWithBackorders
teste para eliminar falhas causadas pela conclusão prematura do campo de email.
StorefrontVerifyProductAfterPartialReindexOnSeveralWebsitesTest
foi refatorizado para melhorar a confiabilidade. GitHub-38359
- Correção do
AdminSimpleProductwithTextandVisualSwatch
teste ao introduzir uma etapa extra que definia explicitamente os atributos a serem usados no pesquisa.
- Erro de digitação no teste de unidade
SortbyTest
. GitHub-37792
- Remoção de referências a classes inexistentes em testes de unidade. GitHub-37636
- O teste
AdminCreateOrderWithVirtualProductFromDefaultSourceWithBackorders
foi aprimorado para eliminar falhas causadas pela conclusão prematura do campo de email.
- Refatorado o teste
Magento\GraphQl\Catalog\ProductSearchTest::testFilterProductsBySingleCategoryId
para manipular a ordem aleatória da categoria emproducts
respostas de consulta.
\Magento\Test\Integrity\Di\CompilerTest::testConstructorIntegrity
teste verifica todas as classes PHP a partir de módulos registrados porComponentRegistrar()
.
- Problemas de desempenho com grandes matrizes foram
TableNameSniff
resolvidos.
CollectionTest::testGetDateRangeFirstPart()
agora contabilizado para o horário de verão.
interface estrutura
- O atributo
crossorigin
foi adicionado alinkTypes
para elementosHEAD
.GitHub-32509
- O upload de imagem agora funciona conforme o esperado em linhas dinâmicas. Agora, as imagens são carregadas corretamente quando enviadas como uma matriz multinacional. GitHub-37957
- Arquivo estilos de upload não são mais duplicados no tema Luma. GitHub-32373
- Campos de rua no campo de rua que o cliente conta formulário de endereço de edição agora são salvos corretamente. Esses campos agora são classificados corretamente pelas chaves fornecidas no formulário. GitHub-37973
- Os valores de Layout Shift (CLS) cumulativos foram aprimorados para as páginas de detalhes do produto. (Esta métrica quantifica a estabilidade visual dos layouts de página.) GitHub-35410
- Aprimorado o mensagens de erros que ocorrem durante modelo renderização. Magento Open Source agora exibe uma mensagem informativa. Anteriormente, o Magento Open Source exibia vazamentos de HTML quando ocorria um erro de PHP.
- Os atributos personalizados do cliente (tipo
File attached
) agora funcionam corretamente com as imagens que foram excluídas e, posteriormente, enviadas por upload. Anteriormente, os atributos personalizados carregados, depois excluídos e carregados novamente não podiam ser salvos da vitrine.
- Correção de um erro de sintaxe no arquivo de modelo do calendário. GitHub-37725
- Os usuários administradores agora podem alterar o logotipo da loja quando o modo de loja única está habilitado. Anteriormente, o Magento Open Source exibia o logotipo padrão de fallback. GitHub-35952
- Os valores de configuração de mixins não estão mais vazios, e mixins do jQuery agora funcionam independentemente da posição de carregamento. Anteriormente, os mixins do jQuery não eram carregados de forma consistente nos navegadores.
- As senhas agora são exibidas conforme esperado quando a caixa de seleção Show Password na página de logon está ativa.
- A Magento Open Source agora exibe os preços corretos para pacotes de produtos fixos com preços especiais.
- Atualização do link para a página de listagem de problemas do GitHub no arquivo de modelo de rodapé da loja. GitHub-37214
- O widget Visualizado recentemente agora exibe o valor correto do imposto em preços de produtos agrupados. GitHub-35881
- Os usuários administradores agora podem arrastar e soltar as opções personalizáveis criadas para o produto simples, conforme esperado. GitHub-36051
- A ordem dos tipos de atributos suspensos do produto agora corresponde à ordem das imagens na página do produto configurável. GitHub-37285
- As mensagens do sistema agora são carregadas mais rapidamente. Somente as mensagens exibidas são carregadas. Anteriormente, todas as mensagens eram carregadas do banco de dados, o que era demorado.
- A remoção do nó de navegação estrutural pela configuração
remove=true
por meio do XML de layout não resulta mais na remoção do título da página na página de categoria. Anteriormente, a remoção de navegações estruturais removia dessa maneira o título da página da categoria.
- O formulário de registro do cliente agora é carregado conforme esperado quando inclui vários atributos selecionados do cliente. Anteriormente, o Magento Open Source lançou esta exceção:
[2023-03-05T05:57:40.032602+00:00] report.CRITICAL: Exception: Deprecated Functionality: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /magento2ee/app/code/Magento/CustomAttributeManagement/Block/Form/Renderer/Multiselect.php on line 53 in /lib/internal/Magento/Framework/App/ErrorHandler.php:62
. GitHub-37189
- As mensagens de boas-vindas que contêm aspas simples agora são renderizadas corretamente na loja sem erros do console. Anteriormente, se uma mensagem de boas-vindas continha uma aspa simples, ela não era carregada durante a renderização da loja. O Magento Open Source também exibia erros de console.
- O Magento Open Source não lança mais um erro quando você tenta alterar rapidamente a exibição entre o histórico de comentários e Retornos na página Ordem do administrador. Anteriormente, o Magento Open Source exibia este erro genérico:
A technical problem with the server created an error
.
- Os usuários administradores com privilégios restritos a um site agora podem atualizar atributos de produto específicos do site definidos para um escopo
all stores view
.
- O widget lente de aumento agora é carregado conforme esperado na página do produto.
- As opções personalizáveis de várias linhas agora são renderizadas adequadamente em documentos PDF de fatura, remessa e aviso de crédito. Anteriormente, o texto multilinha era precedido por uma quebra de página inesperada e, se o texto excedesse a página, o texto era truncado.
- Os usuários administradores agora podem adicionar um novo endereço do cliente do Administrador quando esse cliente foi criado para outro site cuja ID armazenamento não corresponde à ID do site. Anteriormente, Magento Open Source exibia essa mensagem pop-up:
Something went wrong
. GitHub-36582
- As mensagens de erro associadas ao envio de comentários na página de detalhes do pedido agora são mais informativas. Anteriormente, quando um comprador clicava em Submit comment sem alterar o status do pedido ou inserir texto na área de comentário, o Magento Open Source exibia esta mensagem:
The comment is missing. Enter and try again
.
- O ícone de calendário agora é exibido conforme esperado nos campos de intervalo de datas em Administrador Marketing > Cart Price Rules depois que uma data é selecionada para um campo. Anteriormente, após selecionar uma data para um campo, o ícone de calendário não era mais exibido em outros campos e o Magento Open Source exibia o texto do espaço reservado. GitHub-36499
- Os formulários de registro do cliente que incluem campos de seleção múltipla agora são carregados com êxito. Anteriormente, este formulário não era carregado quando continha campos de seleção múltipla, e o seguinte erro foi disparado:
report.CRITICAL: Exception: Deprecated Functionality: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /magento2ee/app/code/Magento/CustomAttributeManagement/Block/Form/Renderer/Multiselect.php on line 53 in /lib/internal/Magento/Framework/App/ErrorHandler.php:62
. GitHub-37189
- Ao clicar em uma miniatura de vídeo no modo de tela cheia da galeria de produtos, o vídeo é exibido conforme esperado. Anteriormente, o vídeo não era exibido e o console do navegador exibia um erro de JavaScript. GitHub-36456
- Adição de uma variável à linha de direitos autorais que é atualizada automaticamente a cada ano. GitHub-36776
- O controle deslizante de imagem na página do produto agora funciona conforme esperado na exibição móvel. Anteriormente, somente a primeira imagem era exibida com sucesso. GitHub-37232
Substituições de URL
- As substituições de URL agora são geradas com base na configuração de visibilidade no nível da loja em implantações de várias lojas. Anteriormente, as regravações de URL não eram geradas para lojas fora do padrão quando a visibilidade do produto estava definida como não visível no escopo de loja padrão.
Category::getUrl()
não busca mais um redirecionamento 301. GitHub-38152
- A Magento Open Source não gera mais regravações de URL de produto para categorias raiz e para produtos definidos como Not Visible Individually em configurações de várias lojas ao gerar regravações de URL ausentes para lojas personalizadas.
- As tags de URL canônicas agora refletem alterações conforme esperado depois que a propriedade de chave de URL da categoria foi atualizada. Anteriormente, o URL de categoria obsoleto era usado, o que acionava imediatamente o redirecionamento para o novo URL.
- As substituições de URL de produto de categoria agora são geradas conforme esperado para todas as exibições de loja quando um produto é adicionado a uma categoria. GitHub-32910
- Magento Open Source não gera mais um erro ao tentar criar uma redirecionar 301/302 para um URL de produto quando Gerar categoria/produto URL Rewrites estiver ativado. Quando um produto é criado e atribuído a um categoria, são criadas reescritas de URL automatizadas: uma para a URL direta e outra para o produto através do caminho de categoria. Quando um novo produto URL reescrita é criado, verifica-se correlações entre produtos, categoria e armazenamento. Essa verificação agora se baseia em propriedades de entidade correlacionadas (categoria e produto). Anteriormente, essa verificação era realizada em regravações de URL pré-existentes.
- Categoria reescritas URL são agora geradas para todas as exibições armazenamento quando um novo categoria é importado de um arquivo de CSV.
- As configurações de sufixo de URL de produto e sufixo de URL de categoria agora correspondem aos sufixos na tabela
url_rewrite
. Anteriormente, as condições de corrida ao atualizar configurações de sufixo de URL ocorriam, e os sufixos de URL configurados e a tabelaurl_rewrite
não correspondiam.
- Magento Open Source agora renderiza a árvore de categoria em todos os níveis ao criar categoria reescritas URL. Anteriormente, apenas os três primeiros níveis de categorias eram exibidos. GitHub-36973
- As substituições de URL de categoria agora estão presentes no arquivo CSV durante a importação de uma nova categoria.
- Páginas cms armazenamento múltiplas sem reescritas URL são encaminhadas conforme esperado. Anteriormente, as páginas do CMS com várias lojas solicitadas sem substituições de URL eram redirecionadas para a página inicial da loja, mas as páginas originais do CMS não eram direcionadas.
Estrutura da API da Web
- O Magento Open Source não exibe mais um aviso
Integration not secure
no Admin System > Extensions > Integrations quando os campos Callback URL e Identity link URL estão vazios. GitHub-36407
- Adicionados os atributos de extensão
taxes
,itemized_taxes
eadditional_itemized_taxes
aMagento\Sales\Api\Data\OrderInterface
. Esses atributos permitem salvar impostos aplicados com chamadas REST de Ordem.
- A API REST de preços de camada agora aceita quantidades decimais. Anteriormente, essa API não permitia quantidades decimais mesmo quando a configuração Use Decimal Quantity estava habilitada.
- O endpoint REST
V1/orders/{id}/comments
não altera mais o status de uma solicitar ao tentar adicionar um comentário ao status de um solicitar pendente. Agora, ele fornece um erro informativo. Anteriormente, esse endpoint alterava o status do pedido ao adicionar um comentário.
- O ponto de extremidade REST API
GET
ePOST V1/products/attributes
não retorna mais o mesmo valor para o atributois_filterable
para as opçõesFilterable(with results)
eFilterable(no results)
da opção Use in Layered Navigation. Anteriormente, esse ponto de extremidade retornou o mesmo valor porque a propriedade de atributois_filterable
era do tipoBoolean
, o que não permitia definir essa propriedade comoFilterable(no results)
. GitHub-37979
- O campo
media_gallery_entries
ausente foi adicionado ao ponto de extremidade RESTV1/configurable-products/sku/children
. Anteriormente, esta função não tinha o código necessário para armazenar e exibirmedia_gallery_entries
. GitHub-37607
- O método REST
V1/carts/mine/estimate-shipping-methods
agora valida todos os níveis de dados do campo de carga e retorna um código HTTP 400 para dados inválidos. Anteriormente, somente o primeiro nível da carga da API era validado e, se os dados inválidos eram retornados em níveis não validados da carga, o Magento Open Source retornava um código de status 500.
- As operações assíncronas de API REST em massa para atualizar produtos com preços de camada e diferentes conjuntos de atributos foram concluídas com êxito. Anteriormente, os produtos com conjuntos de atributos diferentes não podiam ser atualizados dessa maneira, e o Magento Open Source exibia este erro:
The product was unable to be saved. Please try again
.
- O ponto de extremidade
POST /V1/products/tier-prices
agora retorna uma mensagem de erro mais informativa quando um nome de grupo de clientes inválido é usado durante a criação do preço da camada. Anteriormente, o Magento Open Source retornava um erro como este:Notice: Undefined index: XXXXX in ~/public_html/vendor/magento/module-catalog/Model/Product/Price/Validation/TierPriceValidator.php on line 474"
. GitHub-36431
- Agora você pode executar uma solicitação de API em massa assíncrona autorizada para criar clientes com uma ID de grupo não padrão. Anteriormente, essas solicitações redefiniam a ID do grupo para o valor padrão.
- Os clientes criados usando a API em massa agora recebem emails de registro do cliente no idioma configurado em seu site atribuído. Anteriormente, todos os emails eram enviados ao local padrão, não ao local do site ao qual o cliente estava atribuído.
- A chamada
POST V1/guest-carts
não envia mais pedidos de convidados quando Allow Guest Checkout está desabilitado.
- Magento Open Source retorna com êxito o
content
atributo (código de imagem base64) nasGET V1/products/sku/media
respostas da API mídia do produto. Ocontent
atributo não apareceu anteriormente na resposta.