Notas de versão do Adobe Commerce 2.4.7

O Adobe Commerce 2.4.7 apresenta suporte para o PHP 8.3. Ele apresenta centenas de correções de qualidade e melhorias. As dependências do Core Composer e bibliotecas de terceiros foram atualizadas para as versões mais recentes disponíveis. Esta versão inclui melhorias significativas de desempenho, incluindo o carregamento mais rápido de páginas de listagem de produtos para produtos complexos com muitas opções e melhorias para o gerenciamento do indexador. Essa versão aumenta a cobertura do GraphQL para atributos personalizados e caches do resolvedor do GraphQL. Ele também introduz suporte para serviços FedEx e UPS atualizados recentemente.

NOTE
As versões do Adobe Commerce podem conter alterações incompatíveis com versões anteriores (BICs). Para revisar alterações incompatíveis com versões anteriores, consulte Referência de BIC. Os principais problemas incompatíveis com versões anteriores estão descritos na Destaques do BIC. Nem todas as versões introduzem os BICs principais.

Outras informações sobre a versão

Embora o código desses recursos esteja incluído nas versões do código principal do Adobe Commerce, vários desses projetos (por exemplo, B2B e Progressive Web Application (PWA) Studio) também são lançados independentemente. As correções de erros para esses projetos estão documentadas nas informações de versão separadas e específicas do projeto, disponíveis na documentação de cada projeto.

Destaques do Adobe Commerce 2.4.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 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:

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 do setCacheKey ou setData métodos.)
    • As chaves de cache não geradas para blocos agora devem conter apenas letras, dígitos, hifens (-) e caracteres de sublinhado (_).
  • Limitações no número de códigos de cupom gerados automaticamente. O Commerce agora limita o número de códigos de cupom gerados automaticamente. O máximo padrão é 250.000. Os comerciantes podem usar o novo Code Quantity Limit opção de configuração (Stores > Settings:Configuration > Customers > Promotions) para evitar que o sistema fique sobrecarregado com muitos cupons.

  • Otimização do processo padrão de geração de URL de administrador. A geração do URL de administrador padrão foi otimizada para aumentar a aleatoriedade, o que torna os URLs gerados menos previsíveis.

  • Adição de suporte à Integridade de sub-recursos (SRI) para atender aos requisitos da PCI 4.0 para a verificação da integridade do script nas páginas de pagamento. O suporte à Integridade de sub-recursos (SRI) fornece hashes de integridade para todos os ativos JavaScript que residem 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 aprimora çõ es de configura çã o para as CSPs (Content Security Policies, políticas de seguran ç a de conte ú do) da Adobe Commerce para atender aos requisitos do 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 áreas de Administrador e vitrine do Commerce agora é restrict modo. Para todas as outras páginas, a configuração padrão é report-only modo. Em versões anteriores à 2.4.7, o CSP foi configurado no report-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 à config.xml arquivo.

      note note
      NOTE
      Atualização da configuração da CSP para restrict O 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.
  • Uma nova definição de configuração de cache de página inteira pode ajudar a reduzir os riscos associados ao HTTP {BASE-URL}/page_cache/block/esi terminal. Esse endpoint oferece suporte a fragmentos de conteúdo irrestritos e carregados dinamicamente de manipuladores de layout e estruturas de bloco do Commerce. O novo Handles params size definição de configuração define o valor desse parâmetro de handles 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 do campo Administração (Stores > Settings:Configuration > System > Full Page Cache > Handles params size). Consulte Configurar o aplicativo do Commerce para usar o verniz.

  • Limitação de taxa nativa para informações de pagamento transmitidas por meio de REST e APIs do GraphQL. Os comerciantes agora podem configurar 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 do isEmailAvailable A consulta do GraphQL e o (V1/customers/isEmailAvailable) O endpoint REST foi alterado. Por padrão, agora as APIs sempre retornam true. Os comerciantes podem habilitar o comportamento original definindo o Ativar o login de check-out de convidado na opção Admin para yes, 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 Adobe Commerce 2.4.7 inclui as seguintes atualizações de plataforma:

  • Compatibilidade com PHP 8.3. Esta versão apresenta suporte para o PHP 8.3. O Commerce 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 Adobe Commerce 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 Adobe Commerce 2.4.7, todas as extensões agrupadas e todas as extensões Adobe e serviços SaaS são compatíveis com o PHP 8.3.

  • Suporte ao 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 são compatíveis até agosto de 2024 e dezembro de 2024, respectivamente, mas o Adobe recomenda usar o Adobe Commerce 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 vernish 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 Adobe Commerce 2.4.7 somente com o Varnish Cache versão 7.4 ou versão 6.0 LTS.

  • Elasticsearch 8.11 compatibilidade

  • Suporte ao Opensearch 2.12 e OpenSearch 1.3

  • Redis 7.2

  • A variável extjs A biblioteca foi substituída pela versão mais recente do jsTree.

  • jquery/fileUpload A biblioteca do foi removida.

Todas as bibliotecas JavaScript e dependências NPM no código principal do Adobe Commerce 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 são compatíveis com o PHP 8.3.

Atualizações adicionais

  • Vários cupons por suporte a pedido. Os comerciantes agora podem configurar o número máximo de cupons que pode ser aplicado por pedido com o novo Maximum number of coupons per order opção de configuração. Esse valor é definido como 1 por padrão. Agora você pode usar REST ou GraphQL para aplicar vários cupons a um carrinho.

  • O gateway da API XML UPS do Commerce foi migrado para a nova API REST UPS do Commerce para dar suporte a atualizações que a UPS está fazendo em seus 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 Adobe Commerce 2.4.7.

  • Adobe Commerce integração Com FedEx migrou dos serviços Web FedEx WSDL herdados para as APIs RESTful mais recentes do FedEx. O WSDLS de Rastreamento de serviços da Web do 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 Commerce. Esse recurso foi descontinuado no Adobe Commerce 2.4.4.

Aprimoramentos de desempenho e escalabilidade

O Commerce 2.4.7 inclui os seguintes aprimoramentos de desempenho e escalabilidade do Commerce:

  • Os comerciantes corporativos agora podem configurar até um milhão de regras de preço de carrinho ativas baseadas em cupom no Adobe Commerce sem degradação significativa do desempenho das operações de carrinho e finalização.

  • Gerenciamento aprimorado do indexador. O novo indexer:set-status Este comando oferece suporte ao gerenciamento dinâmico do status do indexador. Os usuários administradores podem usar este comando para alterar o status do indexador para suspended, invalidou valid. 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 da lista de produtos para produtos complexos com muitas opções. O tempo de carregamento melhorou para páginas de listagem 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.

  • O formato JSON agora é compatível com o REST Importar API. Os comerciantes agora podem importar até 100.000 registros por minuto para o Adobe Commerce no formato JSON.

  • 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 Commerce 2.4.7 não observarã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 da loja para implantações com muitas lojas. Salvar as definições de configuração em implantações com mais de 500 armazenamentos pode ser demorado. O novo Configuração assíncrona o módulo permite 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. A variável bin/magento cache:clean config agora pré-aquece o cache de configuração quando o cache de configuração 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 config_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.

Servidor de aplicativos GraphQL

Servidor de aplicativos GraphQL O permite que o Adobe Commerce mantenha o estado entre as solicitações de API do Commerce GraphQL e elimina a necessidade de bootstrapping, o que resulta em maior taxa de transferência, menor latência e uso eficiente de recursos para todas as APIs do GraphQL. Ao compartilhar o estado do aplicativo entre os processos, as solicitações da API do GraphQL tornam-se significativamente mais eficientes e as respostas da API do GraphQL são, em média, 30% mais rápidas.

O GraphQL Application Server está disponível somente para o Adobe Commerce. Não está disponível para o Magento Open Source. Você deve enviar um Suporte da Adobe Commerce tíquete para habilitar o GraphQL Application Server em projetos Pro.

NOTE
No momento, o GraphQL Application Server não é compatível com o Amazon Simple Storage Service (AWS S3). Clientes que usam o Adobe Commerce na infraestrutura em nuvem no momento AWS S3 para armazenamento remoto O não pode usar o GraphQL Application Server até o Adobe lançar um hotfix posteriormente em 2024.

Metappackage da extensão do Adobe Commerce

Esta versão apresenta o metapackage de extensão do Adobe Commerce v2.0.0, que agrupa automaticamente extensões selecionadas do Adobe Commerce com esta versão principal. As versões dessas extensões incluídas neste metapackage são instaladas quando composer update O está em execução, simplificando o processo de atualização dessas extensões ao atualizar para a versão principal mais recente. Essas extensões mantêm programações de lançamento independentes.

O metapackage de extensão do Adobe Commerce para Adobe Commerce 2.4.7 inclui estas extensões:

As versões futuras deste metapackage de extensão podem conter extensões adicionais.

Webhooks do Adobe Commerce

Os webhooks do Commerce (v1.2.0 ) permitem que os desenvolvedores configurem a lógica síncrona para executar chamadas para sistemas externos quando um evento do Adobe Commerce é acionado. As chamadas síncronas são necessárias quando o Commerce precisa calcular ou validar imediatamente um valor, como um total de pedido, imposto ou pagamento usando um endpoint de terceiros e, posteriormente, gravar o resultado de volta no Adobe Commerce.

Agora, os webhooks do Commerce são instalados por padrão. Consulte Visão geral do Adobe Commerce Webhooks

Adobe Stock

O pacote do Adobe Stock (adobe-stock-integration) agora está empacotado no metapacote de extensões do Commerce (extensions-metapackage) para suportar atualizações mais frequentes.

B2B

NOTE
A versão 2.4.7 é compatível com o B2B 1.4.2. No entanto, a Adobe recomenda que os clientes aguardem a próxima versão B2B 1.5.0 GA antes de atualizar, o que inclui suporte para o PHP 8.3. Consulte Notas de versão B2B.

Braintree

  • Vaulted PayPale Pay Later Alterações—Os clientes conectados que anteriormente armazenaram/compartimentaram sua conta do PayPal têm a opção de pagar com:

    • Pay Now (sem ter que fazer logon na sua PayPal conta, o usuário pode pagar com o cartão padrão)
    • Pagar com uma fonte de financiamento diferente
    • Pagar com uma conta diferente
    • PayPal Pay Later ou PayPal Credit botão
  • Suporte para 3DS paraGoogle Pay—Suporte de verificação 3DS incluído para o Google Pay placas não tokenizadas. Consulte a Documentação do Braintree para obter mais informações.

  • Vault Apple Pay Payments—Permitir que os clientes conectados armazenem seus Apple Pay pagamentos para sua conta da Commerce store a serem usados 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 os clientes conectados armazenem seus Google Pay pagamentos para sua conta da Commerce store a serem usados 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 Venmo Payments—Permitir que os clientes conectados armazenem seus Venmo contas para a conta da loja do Commerce para 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 ACH Payments—Permitir que os clientes conectados compartimentem/armazenem seus pagamentos de ACH para a conta da Commerce store a serem usados 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. Agora, os clientes podem pagar por PayPal, PayPal Pay Later, Apple Pay, e Google Pay Express pagamentos.

  • BraintreeNotas de versão e links de suporte na Configuração de administração—Os comerciantes agora podem vincular diretamente do administrador do Commerce ao suporte para Braintree e às notas de versão online.

  • Suporte do GraphQL para todos Braintree métodos de pagamento excetoVenmo— Mais configurações são expostas na API do GraphQL. Isso é particularmente útil para aplicativos headless.

  • Vaultingárea de pagamentos em conta—Os clientes conectados agora podem cofre/armazenamento novos cartões de crédito/débito e PayPal na área Conta do cliente. Anteriormente, os clientes só podiam realizar o cofre/loja ao salvar seus pagamentos para uso posterior ao concluir uma transação no check-out, agora eles podem fazer o cofre de novos cartões de crédito/débito e contas do PayPal sem precisar criar uma nova transação.

  • Transações sem atrito—As transações sem atrito aceleram o processo de pagamento, reduzindo o número de cliques/etapas do cliente para concluir uma transação on-line com cartão de crédito/débito. Anteriormente (quando o 3DS era ativado), cada cliente enfrentava o desafio do 3DS. Com o novo recurso de transações sem atrito, os clientes só precisam do 3DS quando o banco o solicitar. Isso reduz o abandono do carrinho, aumenta as taxas de conversão e resulta em mais vendas.

  • Contestar webhooks—Quando um cliente contesta uma transação no Braintree, o status da contestação agora é transmitido ao Commerce. É pesquisável na variável Sales > Order e anexado a cada pedido.

Integração do Commerce com o Adobe IMS

O pacote de integração do Adobe IMS (adobe-commerce/adobe-ims-metapackage) agora está empacotado no metapacote de extensões do Commerce (extensions-metapackage) para suportar atualizações mais frequentes.

GraphQL

O Commerce 2.4.7 inclui recursos aprimorados de cache do GraphQL, suporte ao esquema do GraphQL para atributos personalizados, suporte para cancelamento de pedido headless e cache de resolvedor aprimorado.

  • Gerenciamento de carrinho mais flexível. A variável clearCart A mutação agora limpa o conteúdo de um carrinho de compras especificado em uma única ação. Substitui o clearCustomerCart mutação, que foi descontinuada.

  • Melhorias nas mutações de criação de carrinho. A variável createGuestCart foi adicionada uma mutação para substituir a createEmptyCart mutação. Anteriormente, se você usou createEmptyCart, você não pôde determinar se o carrinho era para um cliente convidado ou conectado.

  • Os itens do pedido agora incluem imagens do produto. OrderItemInterface O expõe as imagens do produto, o que permite que as imagens sejam associadas a produtos solicitados e carregadas com mais eficiência. GitHub-32369

  • Suporte expandido para 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 variável cancelOrder permite que um cliente cancele um pedido, transmitindo seu identificador e um motivo de cancelamento.

  • 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 do tempo de carregamento da página para a maioria das páginas de PWA:

  • Desempenho aprimorado do analisador do GraphQL. 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 de quickorder_active para o campo storeConfig e availableStores consultas. Este campo indica se o recurso de pedido rápido está habilitado.

  • Adição dos seguintes campos à setBillingAddressOnCart e setShippingAddressesOnCart mutações:

    • fax
    • middlename
    • prefix
    • suffix

Novas consultas e mutações

Consultas e mutações obsoletas

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.

Pagamentos

  • O suporte do GraphQL foi adicionado para operações principais para todos os métodos de pagamento, exceto Venmo. Os novos endpoints do GraphQL para serviços de pagamento estão descritos em Check-out.

  • A compartimentação de cartão de crédito foi aprimorada para todos os métodos de pagamento, exceto Venmo. Agora, os compradores podem fazer o Vault ou salvar seus pagamentos da ACH e visualizá-los ou excluí-los da página da conta. Os comerciantes podem ativar e desativar os pagamentos com cofre da ACH junto ao Administrador.

  • O fluxo de trabalho de finalização agora inclui uma seção de pagamento expresso que fornece PayPal, Google Pay e Apple Pay Express botões.

Opções de pagamento introduz métodos de pagamento compatíveis.

PWA Studio

O PWA Studio v14.0 é compatível com o Adobe Commerce 2.4.7. 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 Adobe Commerce core compatíveis.

Estrutura da API da Web

Trabalhar com vários cupons por carrinho

Os novos endpoints REST oferecem suporte à exibição, adição e exclusão de vários cupons associados a um carrinho.

NOTE
Pela primeira vez, várias rotas de endpoint REST contêm a string V2 em vez de V1. Por exemplo, GET /rest/default/V2/carts/{cartId}/coupons. Para comerciantes do Commerce, esses endpoints devem substituir o V1 versões dos endpoints. Esses endpoints só estão disponíveis no Adobe Commerce.

Retorne todos os códigos de cupom associados ao carrinho:

GET /rest/{store_code}/V2/carts/{cartId}/coupons
GET /rest/{store_code}/V2/carts/mine/coupons

Anexar um código de cupom a um carrinho:

POST /rest/{store_code}/V2/carts/{cartId}/coupons/{couponCode}
POST /rest/{store_code}/V2/carts/mine/coupons/{couponCode}

Substituir códigos de cupom em um carrinho:

PUT /rest/{store_code}/V2/carts/{cartId}/coupons
PUT /rest/{store_code}/V2/carts/mine/coupons

Remover códigos de cupom de um carrinho:

POST /rest/{store_code}/V2/carts/{cartId}/coupons/deleteByCodes
POST /rest/{store_code}/V2/carts/mine/coupons/deleteByCodes

Endpoints adicionais
Esta versão apresenta dois novos endpoints REST que fornecem uma solução alternativa para uma limitação com a API REST GET e POST V1/products/attributes pontos finais. Esses endpoints retornam o mesmo valor para o is_filterable atributo para ambos os Filterable(with results) e Filterable(no results) opções do Use in Layered Navigation opção. (O is_filterable a propriedade do atributo é do tipo Boolean, que não permite definir essa propriedade como Filterable(no results).)

Dois novos endpoints de REST foram implementados como solução alternativa:

  • PUT /V1/products/attributes/{attributeCode}/is-filterable/{isFilterable}. Parâmetros de caminho: attributeCode (String) e isFilterable (int os 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 Adobe Commerce 2.4.7. Um subconjunto dos problemas corrigidos incluídos nesta versão está descrito abaixo. As correções incluídas nas versões anteriores do Commerce 2.4.7-beta também estão descritas.

Instalação, atualização, implantação

  • A manipulação de cache desnecessária foi removida do processo de configuração. Anteriormente, o Commerce gravava sua configuração em disco desnecessariamente quando bin/magento setup:db-data:upgrade ou bin/magento setup:upgrade foi executado, o que causou problemas com alguns módulos durante a configuração. GitHub-38124
  • Problemas de implantação devido à memória insuficiente e a tabelas grandes foram resolvidos. A variável bin/magento setup:upgrade O comando não falha mais devido a erros de memória excedida relacionados a tabelas MySQL grandes.
  • bin/magento setup:install agora é concluído com sucesso depois de app/etc/config.php foi excluído. Anteriormente, o arquivo ausente não era gerado novamente durante a instalação, e o Commerce emitiu um erro. GitHub-37805
  • bin/magento setup:upgrade foi refatorada para ser executada com sucesso ao instalar um novo módulo que instala as tabelas e os relatórios mview indexadores. GitHub-37304
  • A restauração do banco de dados não falha mais devido a um erro de delimitador. Anteriormente, o Commerce exibia esse erro ao bin/magento setup:rollback --db foi 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 ;;.
  • A variável bin/magento setup:upgrade comando 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 durante setup:upgrade.
  • A geração de um backup de banco de dados agora funciona conforme esperado do Admin e da linha de comando. Anteriormente, o Adobe Commerce 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 ;;.
  • Executando setup:config:set sem especificar o --lock-db-prefix O parâmetro não apaga mais o valor atual do env.php arquivo.
  • A configuração de verniz foi atualizada para impedir que usuários convidados acessem conteúdo em cache relacionado a outros grupos de clientes.
  • Os compradores agora podem fazer um pedido em uma implantação que implementa o banco de dados dividido quando Checkout Async está ativado. Anteriormente, o Adobe Commerce exibia este erro: An error occurred on the server. Please try to place the order again.
  • bin/magento setup:upgrade O agora é concluído com sucesso ao instalar um novo módulo que instala as tabelas e os relatórios mview indexadores.
  • bin/magento setup:upgrade O 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 O 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
  • Select As opções de menu suspenso agora estão visíveis no Administrador Content > Pages quando várias páginas são selecionadas na grade. GitHub-35386
  • Corrigido o caminho para o valor padrão de system/dashboard/enable_charts em definições de configuração. Os gráficos agora são exibidos no Admin, conforme esperado. GitHub-37668
  • Correção de um problema de exibição com as grades do Cliente Admin. Anteriormente, as colunas de grade não estavam completamente contidas na página exibida.
  • As cores de focalização agora são aplicadas conforme esperado nas linhas de grades estáticas de Administração. GitHub-35358
  • O fluxo de trabalho de check-out não exibe mais um aviso quando um comprador insere um código postal para a Grécia que não contém um espaço em branco. GitHub-36676
  • O administrador It's time to change your password O link agora redireciona para a página Alterar senha do administrador conforme esperado. GitHub-37902
  • Os títulos dos submenus agora indicam irmãos, independentemente do nível de acesso atribuído ao usuário. Anteriormente, essas informações estavam ocultas dos usuários administradores com acesso limitado, mesmo se vários grupos irmãos existissem para o submenu.
  • Os sufixos de título de página agora estão incluídos em ambos os title e a tag meta title para páginas de produto. GitHub-37680
  • A condição de status do estoque do produto agora é aplicada corretamente para as regras de produtos relacionadas.
  • A variável Login as Customer agora é exibido corretamente em dispositivos móveis.
  • O Adobe Commerce não exibe mais o Administrador Add new customer group botão se o usuário administrador conectado não tiver permissão para adicionar um novo grupo de clientes.
  • 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 foi 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
  • A grade de pedido arquivada agora é atualizada de forma assíncrona com novos status de pedido, conforme esperado. Uma abordagem baseada em eventos para atualizar o status do pedido na grade de arquivamento resulta em um status de pedido preciso, incluindo reembolsos de aviso de pós-crédito.
  • O menu suspenso de ações da Grade de administração agora pode passar o mouse como esperado sobre um link selecionado para Content > Pages (e catálogos compartilhados no módulo B2B). Anteriormente, esse menu era parcialmente oculto e os usuários administradores tinham que rolar a tela para ver as opções. GitHub-36710

Analytics

  • A página de detalhes do produto meta itemprop="image" e meta itemprop="description" As propriedades do agora estão disponíveis para a imagem principal do produto. GitHub-37497
  • A seção Relatório da grade Produtos em carrinhos agora exibe o preço correto do produto quando Catalog Price Scope está definida como Website. Anteriormente, o preço do produto era exibido como zero quando o produto era atribuído a um site diferente do site padrão.
  • Os relatórios de receita agora são exibidos conforme esperado no portal Google Analytics (GA4). GitHub-37605
  • price e quantity Os valores na camada de dados do Google Tag Manager agora são enviados como valores numéricos, conforme esperado para Google Analytics. Anteriormente, esses valores eram enviados como cadeias de caracteres.
  • Erros ao manipular dados de cabeçalho ao enviar dados de implantação para o módulo New Relic foram resolvidos.
  • Google Analytics 3 tags agora são acionadas conforme esperado quando as Google Analytics 4 tags estão desativadas.
  • Refatoração do modo como o conteúdo do banner é carregado para remover consultas excessivas ao banco de dados, resultando em tempos de carregamento do carrinho aprimorados.

Produtos do pacote

  • A contagem de produtos da categoria agora contabiliza corretamente os produtos de pacote quando Display Out Of Stock* está ativado.
  • A variável customerCart a query agora retorna todos os descontos aplicados em produtos de pacote conforme esperado. Anteriormente, os descontos totais aplicados a um produto de pacote eram retornados como zero.
  • As páginas de detalhes do produto agora exibem o preço correto para produtos de pacote para os quais um desconto de 100% foi aplicado. Anteriormente, o Commerce não aplicava um desconto de 100% aos preços de pacote do produto.
  • As regras de preço do carrinho agora são aplicadas aos pacotes de produtos, em vez de a cada produto secundário para produtos agrupados com preço dinâmico.
  • Correção de um erro que ocorre ao usar o POST V1/shipment endpoint para criar uma remessa contendo um produto do pacote. O endpoint agora adiciona itens conforme esperado e não retorna mais esse erro: The shipment couldn't be saved.
  • Agora é possível salvar uma atualização agendada de um pacote de produtos que inclui um produto simples que tem uma atualização agendada indefinida. Quando o instantâneo do produto incorporado é criado, os produtos vinculados agora são capturados pela ID, ID da entidade e também pelo SKU. Anteriormente, a versão original do produto simples era verificada quando a atualização programada no produto incluído era salva, em vez da versão atual do produto simples.
  • Agora você pode usar o GET V1/shipment/ Rota de API para criar uma remessa com um produto de pacote quando o produto tiver a together tipo de entrega 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 sucesso a um pedido de administrador usando SKUs que contêm uma barra (/). Anteriormente, os usuários administradores não podiam usar esse método para adicionar produtos a um pedido de Administrador, e o Commerce emitiu um erro de JavaScript.
  • Os usuários administradores agora podem definir valores padrão decimais para opções de pacote recém-adicionadas quando Qty Uses Decimal está ativado para o produto simples correspondente. Anteriormente, os valores decimais podiam ser definidos somente para seleções salvas.
  • Desempenho otimizado para salvar produtos de pacote com um grande número de opções
  • Os produtos do pacote agora são importados com êxito sem duplicar SKUs nas opções do produto. Anteriormente, a Adobe Commerce criava vários SKUs duplicados nas opções do produto quando você importava produtos agrupados com entradas duplicadas.
  • O preço do produto em pacote agora é calculado corretamente quando um dos produtos no pacote está esgotado. Anteriormente, se um produto que fazia parte do pacote estivesse esgotado, ele seria removido do cálculo de preço.
  • Os produtos do pacote agora são exibidos como indisponíveis quando os últimos produtos secundários necessários são comprados. Anteriormente, os produtos do pacote eram exibidos como em estoque na loja quando seus produtos simples estavam indisponíveis.
  • Problemas de desempenho ao adicionar produtos do pacote com opções não necessárias ao carrinho usando o addBundleProductsToCart mutação foram resolvidas.
  • A variável categoryList o query agora retorna todas as opções do pacote conforme esperado quando a variável Show out-of-stock products definição de configuração está habilitada. Anteriormente, as opções indisponíveis não eram incluídas na resposta da consulta.
  • Produtos do pacote criados com o POST V1/products agora têm êxito quando o escopo de preço do catálogo está definido como website. Anteriormente, ocorria uma violação de restrição de integridade. GitHub-35595

Cache

  • As categorias agora estão visíveis para os compradores em lojas nas quais o cache está definido como CDN Fastly (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 CMS que contêm blocos 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 de plug-in foi introduzida para atingir a invalidação de cache para variantes configuráveis, semelhantes a outros tipos de produtos, independentemente do estado do indexador (agendado ou tempo real). Anteriormente, os preços não eram atualizados corretamente na loja depois que uma variação configurável era atualizada do administrador.
  • Adição de um mecanismo de cache para credenciais do AWS. Um provedor de credenciais agora usa o cache do Commerce para armazenar em cache credenciais recuperadas do AWS para configuração EC2.
  • O plug-in cujo objetivo é adicionar a tag de cache configurável quando um produto simples associado a um produto configurável é salvo agora funciona conforme esperado. Todas as tags de cache relevantes e configuráveis são removidas conforme esperado quando um produto simples é atualizado pelo POST V1/products. Anteriormente, nem todos os preços eram atualizados na loja e os caches tinham que ser limpos manualmente. GitHub-36726

Carrinho e check-out

  • O Commerce agora otimiza o desempenho, não carregando dados de cotação específicos do usuário ao gerar páginas completas armazenáveis em cache, como Páginas de detalhes do produto (PDP) e Páginas CMS, quando o carrinho persistente está ativado. Anteriormente, o sistema carregava desnecessariamente dados de sessão e cotação específicos do usuário 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 atributo salvos no banco de dados eram anexados ao código de atributo.
  • A geração de texto de filtro de regras do carrinho para atributos de produto foi aprimorada. Os produtos individuais não são mais carregados várias vezes.
  • O Adobe Commerce agora exibe uma mensagem de erro informativa quando um erro ocorre durante o check-out e não retorna mais o comprador a uma etapa de check-out anterior. Anteriormente, o comprador retornava à página de remessa.
  • A variável cart a consulta não retorna mais o método e o endereço de envio para carrinhos virtuais. Anteriormente, quando um carrinho continha produtos físicos e virtuais e todos os produtos físicos eram removidos, a resposta de consulta do carrinho continuava a incluir informações de envio.
  • O Commerce agora exibe mensagens informativas quando uma ação de adição ao carrinho é acionada. Anteriormente, a variável The requested qty is not available nem sempre era exibido conforme necessário na loja.
  • Os tempos de carregamento da página de check-out foram aprimorados para clientes com catálogos de endereços grandes. O Commerce agora processa somente o número de endereços de clientes especificados no Customer Addresses Limit configuração. Anteriormente, o Commerce 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.
  • A variável AdvancedSalesRule o filtro de atributo de produto agora funciona corretamente com o tipo de back-end de atributo decimal. Como resultado, as regras do carrinho com Coupon Type definir como No Coupon agora funcione 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
  • A variável My billing and shipping address are the same A caixa de seleção agora permanece marcada por padrão quando um comprador usa o preenchimento automático do Chrome para preencher o endereço de envio e clica em Próxima antes que o bloco de métodos de envio seja recarregado. GitHub-33725
  • A variável applied_rule_ids valor no quote_item A tabela 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 endereço de entrega padrão na etapa de entrega da finalização da compra não é mais preenchido com o endereço de separação na loja selecionado anteriormente.
  • Os produtos no carrinho não são mais excluídos das listas de produtos relacionados e de venda adicional depois que o cache é liberado.
  • O avaliador de imposto do carrinho e de remessa agora reflete com precisão a configuração de destino padrão. Anteriormente, ao definir as configurações padrão de cálculo do 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 Adobe Commerce 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.
  • O Adobe Commerce não lança mais esse erro durante o check-out quando o carrinho de compras persistente está ativado: Invalid state change requested. Anteriormente, quando esse erro era gerado, vários pedidos com o mesmo quote_id foram 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.
  • O desempenho das regras de segmento do cliente que dependem dos carrinhos ativos foi aprimorado, o que reduziu o tempo necessário para adicionar um produto ao carrinho.
  • 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 variável cart o query não retorna mais um erro quando um produto no carrinho especificado está indisponível. Anteriormente, os compradores que usavam essa query para fazer uma compra não podiam concluir sua compra quando um item estava esgotado e sua página de check-out estava em branco.
  • Solicitações da API convidada para POST V1/guest-carts/<cartId>/shipping-information não retornar mais um cancel Status se a página for recarregada durante o logon em um ambiente móvel. Anteriormente, o Adobe Commerce emitia um erro 500 e registrava esta exceção: TypeError: Argument 2 passed to Magento\CustomerCustomAttributes\Model\Plugin\ProcessCustomerShippingAddressCustomAttributes::beforeSaveAddressInformation() must be of the type string, null given.
  • A elegibilidade para o transporte gratuito agora é calculada conforme esperado quando a Subtotal (Excl. Tax) condição para regras de carrinho é aplicada. GitHub-36760
  • A variável cart a consulta 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 variável total (incl.tax) como esperado. GitHub-34871
  • A variável If an item is FOUND/NOT FOUND in the cart with ALL/ANY of these conditions true a condição da regra de preço de catálogo 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 é possível salvar com êxito uma nova regra de preço do carrinho com a Magento_OfflineShipping extensão desativada. Anteriormente, o Adobe Commerce 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, a variável applied_rule_ids o valor nunca foi alterado no sales_order_item e a regra de preço do carrinho não foi aplicada ao pedido.
  • Executando bin/magento cache:clean ou bin/magento cache:flush O não libera mais todo o cache de página inteira integrado ou esverniz, a menos que especificado. GitHub-38301
  • Agora os comerciantes podem usar o Carrossel de produtos para criar blocos de CMS quando catalog_product_price dimensions-mode está definida como website. Anteriormente, o Commerce não salvava o bloco e gerava este erro SLQ: report.CRITICAL: PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table.
  • O Commerce 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 no pub/media/catalog/product pasta. 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 de catalog_product_price consultas de índice, que melhorou o desempenho desse indexador em lojas com catálogos grandes. GitHub-32382
  • O Commerce não insere mais o texto de descrição do produto na página de detalhes do produto Meta Description quando este campo ficar vazio. Anteriormente, quando uma descrição do produto continha o código de HTML gerado pelo Page Builder ou outro editor de HTML, o HTML era exibido no Meta Description e não é 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 produtos 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 exibição da loja, incluindo nome e idioma preferido.
  • Os vídeos do Vimeo agora são reproduzidos, conforme esperado, nas páginas de produtos, na visualização móvel em navegadores da Web com base em Chromium.
  • A variável bin/magento catalog:images:resize O comando agora gera corretamente imagens do produto para os produtos atribuídos a um site personalizado com um tema personalizado.
  • Metadados com NULL ou NOT NULL agora os valores são salvos para o armazenamento padrão de acordo com a Usar Valor Padrão conforme esperado. Anteriormente, os metadados com NULL O valor de não foi salvo quando esta 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 variável productDetail o query agora retorna o nome do produto em vez de nulo quando a imagem do produto alt atributo está 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, a variável url_path não foi atualizado com a ID de armazenamento apropriada.
  • O RESTO V1/products/<sku>/media O endpoint agora pode processar o upload simultâneo de várias imagens de mídia. Anteriormente, ao processar várias solicitações simultaneamente, dados inconsistentes eram criados e o Commerce exibia um erro quando esses dados eram salvos no banco de dados.
  • Os banners do segmento do cliente agora se comportam conforme esperado quando um comprador que está usando uma conta de cliente recém-criada faz logoff. Anteriormente, os banners criados para o segmento de cliente conectado eram exibidos mesmo após a sessão dessa conta terminar (ou seja, o comprador registrado era desconectado).
  • O desempenho da reindexação parcial dos indexadores de Produtos de categoria e Categorias de produto foi aprimorado. Anteriormente, a variável indexer_update_all_views o trabalho do cron executou reindexadores 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 variável stock_status_changed_auto a configuração foi ignorada quando a configuração de estoque de um produto foi atualizada para em estoque.
  • A classificação da barra de ferramentas agora funciona conforme esperado nas páginas de Pesquisa quando a Remember Category Pagination está ativada. GitHub-33220
  • Os atributos de seleção múltipla agora são salvos conforme esperado quando Use Default Value a caixa de seleção no escopo de visualização de loja está marcada. Anteriormente, essa caixa de seleção era desmarcada quando o produto era editado e o valor padrão era salvo.
  • Os usuários administradores com acesso limitado ao site agora podem adicionar Imagens a um produto que se enquadra em seu escopo. Se o usuário administrador não tiver direitos de acesso ao produto, o Commerce exibirá uma mensagem informativa. Anteriormente, os usuários administradores com acesso limitado ao site não podiam adicionar imagens aos produtos aos quais tinham acesso.
  • Definido pelo usuário special_from_date, special_to_date, news_from_date, e news_to_date os valores de não são substituídos quando um produto é editado no escopo de visualização de loja.
  • O Commerce agora exibe o nome correto depois de classificar produtos por nome em Administração > Category > Products in category em implantações em várias lojas onde os nomes dos produtos variam de acordo com a loja. GitHub-36208
  • A variável addProductsToCart A mutação agora retorna opções personalizáveis com dados. Anteriormente, retornava apenas opções personalizáveis vazias. GitHub-37599
  • A posição do produto e a seleção da ID agora são exibidas corretamente quando um usuário administrador adiciona um novo produto a uma categoria após limpar o cache, mas não recarregar a página da categoria. Anteriormente, a posição e a seleção do produto eram incompatíveis e eram exibidas incorretamente.
  • Os comerciantes agora podem atualizar a data ou hora de início futura de uma alteração agendada para um produto baixável. Anteriormente, o Adobe Commerce exibia esse erro durante a atualização da data ou hora de início futura do produto baixável: The downloadable link isn't related to the product. Verify the link and try again.
  • O status do produto com backorder agora é exibido corretamente na loja. Anteriormente, os produtos que estavam disponíveis para remessa eram identificados incorretamente como em backorder.
  • Acessar produtos baixáveis do Administrador não resulta mais em erro quando o usuário administrador altera a exibição da loja da exibição usada durante a criação do produto para outra exibição da loja. Os preços do produto agora são convertidos com sucesso em flutuante quando um usuário administrador alterna a exibição da loja de todas as exibições para a exibição padrão da loja. Anteriormente, o Adobe Commerce emitia um erro. GitHub-37519
  • Os produtos exportados agora têm a manage_stock quando a variável use_config_manage_stock valor igual a 1. Anteriormente, esse valor padrão estava incorreto.
  • O Adobe Commerce não exibe mais uma mensagem de aviso quando você salva um produto que foi criado com opções personalizadas após excluir a imagem.
  • As imagens em miniatura do produto agora são exibidas conforme esperado no email de alerta de estoque do produto enviado quando um produto é colocado de volta no estoque. Anteriormente, essa imagem não era exibida no email de alerta
  • A contagem de produtos na árvore de categorias (Administrador) Catalog > Category) agora é precisa. Anteriormente, a contagem de produtos da categoria não podia ser recuperada do catalog_category_product_index tabela. O erro de digitação que acionou esse erro foi corrigido. GitHub-35417
  • A imagem principal do produto na página de detalhes do produto não muda mais visivelmente para baixo durante o carregamento da página quando product_image_white_borders no tema view.xml está desativado. Anteriormente, a imagem do produto deslocou-se visivelmente para baixo durante o carregamento da página devido a configurações incorretas de altura no Fotorama JS.
  • Agora os clientes são notificados sobre quedas no preço do produto quando assinam alertas de queda de preço. Anteriormente, as notificações de queda de preço nem sempre eram enviadas devido ao armazenamento em cache no nível do aplicativo.
  • A validação do lado do servidor foi adicionada ao processo de criação de atributos de produto por meio da API da Web. Você não pode ativar o Use in Layered Navigation Catalog quando a variável Catalog Input Type for Store Owner o valor do campo é Text Field, Text Area, Text Editor, Dateou Date 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 indisponíveis que são opções para um produto configurável agora são exibidos como desativados na loja quando Display Out of Stock Products está definida 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 estão disponíveis com o mesmo SKU e store_view_code resultou em preços imprecisos para os escopos de exibição padrão e Todas as lojas.
  • Os comerciantes agora podem adicionar uma imagem de GIF à galeria de imagens de um produto do Administrador. Anteriormente, o Adobe Commerce exibia este erro: imagecolorsforindex(): Argument #2 ($color) is out of range.
  • Foram adicionadas verificações para manipular erros que resultam de chaves de matriz indefinidas. Anteriormente, um erro ocorria durante a geração da lista de permissões do esquema declarativo.
  • O Adobe Commerce agora retorna um resultado válido para a data personalizada 01/01/1970. 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 informações de categoria conforme esperado. Anteriormente, ocorria um erro interno do servidor na página de categoria. GitHub-35906
  • Problemas com o cataloginventory_stock o processo de reindexação parcial foi resolvido e o desempenho do indexador melhorou. Anteriormente, as categorias de estoque e produto não eram atualizadas com precisão.
  • O Adobe Commerce agora gera um redirecionamento 301 para um produto quando a categoria à qual ele pertence é movida para um novo pai. GitHub-37039
  • 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 time ao configurar um produto configurável sem afetar a origem dos produtos simples associados. Anteriormente, selecionar Skip quantity at this time que resultaram no desaparecimento de fontes de produtos.
  • A variável As low as o rótulo 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.
  • 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
  • Os compradores agora podem usar dois códigos de cupom gerados automaticamente separados que foram gerados pela mesma regra de preço do carrinho. A variável Uses per Coupon agora está ativado quando o tipo de cupom é selecionado para Auto (semelhante para tipo de cupom =Specific Coupon). Isso, por sua vez, permite que o comprador aplique vários códigos de cupom ao mesmo preço do carrinho se os códigos forem diferentes.
  • O valor do cupom de uso único de um comprador agora é restaurado conforme esperado quando o pedido ao qual ele foi aplicado é cancelado.
  • A variável GET V1/coupons/<couponId> O endpoint agora retorna a resposta completa esperada para cupons criados manualmente, assim como faz com os cupons gerados automaticamente. Anteriormente, alguns campos eram omitidos (por exemplo, usage_limit, usage_per_customer, e created_at).

cron

  • A variável aggregate_sales_report_bestsellers_data O trabalho cron não cria mais tabelas MySQL temporárias muito grandes e agora é concluído com sucesso. Esse trabalho cron agora insere dados por loja, não para todas as lojas de uma só vez. Anteriormente, esse trabalho do cron podia resultar em No space left on device erros.
  • O número de registros pendentes no cron_schedule a tabela foi reduzida, impedindo 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. Cron jobs em cron_schedule não foram marcados como ausentes mesmo que já tivessem passado da hora agendada. O Commerce também exibiu esse 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
  • A variável sales_clean_quotes o processo cron foi otimizado para ser executado mais rápido ao adicionar um índice composto em store_id e updated_at columns na tabela de cotações. Essa alteração melhora o desempenho do trabalho cron ao processar muitas cotações.
  • Os usuários administradores agora podem visualizar qual tarefa o bin/magento cron:run O processo está em execução no momento. O título do processo atualmente em execução agora lista os nomes do grupo e do trabalho. GitHub-34321

Cliente

  • O Adobe Commerce agora exibe a variável Date of Birth, Tax/VAT Number, Gender, Telephone, Company, e Fax campos na página editar cliente com base nas definições de configuração. GitHub-36196

Segmentos de clientes

  • As condições de segmento do cliente agora carregam todos os clientes correspondentes conforme esperado. Anteriormente, a lista de clientes correspondentes ao segmento do cliente não continha todos os clientes correspondentes.

EAV

  • O indexador EAV não requer mais a exclusão das entidades não visíveis durante o processamento em lote. Por padrão, o indexador não agrupa mais produtos não visíveis e o desempenho do indexador melhorou.

Email

  • 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 Commerce 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 que nomes de remetentes que contêm caracteres de dois pontos da seção Armazenar endereços de email de Admin 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.
  • As opções de imagem não são mais exibidas como marcação HTML nos emails de clientes de Devoluções (modelo padrão) para produtos com opções de imagem personalizadas.
  • Agora os detalhes do Administrador da empresa são salvos conforme esperado e os administradores são redirecionados corretamente, quando os emails de Atribuição de administrador da empresa contêm um CMS Block URL variável.
  • 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 O agora envia um email alertando os 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

  • Depuração aprimorada adicionando o UNCACHEABLE ao produzir um cabeçalho HTTP com Verniz está em uso. Anteriormente, somente HIT ou MISS valores foram gerados. GitHub-37912
  • Adição de código para oferecer suporte ao manuseio de compactação padrão Varnish. GitHub-38309
  • A variável bin/magento varnish:vcl:generate agora inclui um input-file argument. Isso é compatível com a adição de um VCL personalizado a um repositório Git, em relação à raiz do Commerce. GitHub-37363
  • O suporte para o Varnish 4.x e 5.x foi removido da base de código. GitHub-38304
  • phpcodesniffer-composer-installer in composer.json foi atualizado para v1.0.0. GitHub-36913
  • Caracteres que não estão em conformidade com RFC3986 foram removidos da base de código. GitHub-38355
  • Correção de uma tag doc incorreta do PHP no 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 front-end. Essa refatoração soluciona possíveis problemas ao atualizar implantações anteriores à versão 2.4.4 do Commerce. GitHub-38363
  • Esclarecimento sobre a mensagem de erro associada ao StockItemValidator.php quando uma ID de estoque com valor 0 é fornecida durante uma chamada de API. GitHub-31107
  • Adição de uma matriz vazia padrão a $tagGenerators in CompositeTagGenerator para evitar erros durante a compilação de injeção de dependência. Anteriormente, executar o bin/magento setup:upgrade quando a variável Magento_DirectoryGraphQl e Magento_StoreGraphQl módulos foram desabilitados resultou em um erro. GitHub-38165
  • O não utilizado AlgorithmProviderFactory classe foi removida, assim como as dependências dessa classe em classes, incluindo JweAlgorithmManagerFactory.php, JweContentAlgorithmManagerFactory.php, e JwsAlgorithmManagerFactory. GitHub-37783
  • A variável var/log/system.log o arquivo não contém mais main.INFO error mensagens. O log de entrada de menu foi movido do nível INFO para DEBUG. Anteriormente, a variável var/log/system.log o arquivo foi inundado com mensagens como esta: Add of item with id Magento_Theme::design_config was processed … .
  • O pré-carregamento do Redis não falha mais quando exec() retorna falso. A verificação foi adicionada ao processo de pré-carregamento para evitar array_combine de receber false como segundo argumento. Como resultado, o pré-carregamento continuará a ser executado quando exec() devoluções false. GitHub-37509
  • Refatorado o Magento_CatalogWidget módulo a ser substituído $block funções de escape com $escaper funções de escape. GitHub-37107
  • Swaziland foi atualizado para Eswatini em toda a base de código. GitHub-37873
  • Adição da nova moeda nicaraguense (NIO) à lista de moedas disponíveis.
  • Alteração do nome do reponseBody variável para responseBody in app/code/Magento/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.
  • A variável bin/magento setup:upgrade O comando não falha mais devido à $schemaPatch tipo de dados variável. Anteriormente, o valor da string era passado para o get_class que causou o erro. GitHub-37545
  • Falhas críticas de leitura do banco de dados quando synchronous_replication está ativado para conexões subordinadas no Adobe Commerce Cloud que não ocorrem mais.
  • A conexão com o banco de dados MySQL agora será restaurada se o tempo limite da conexão for excedido durante uma transação quando você definir max_messages = 0 consumidor. Anteriormente, a conexão era encerrada.
  • A variável magento/module-release-notification o módulo principal 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 é listado como uma opção no endereço de administrador State menus suspensos. GitHub-33698
  • O ticker de contagem regressiva do evento agora é exibido conforme esperado na página de categoria.
  • O proibido @author A tag do foi removida da base de código, incluindo estes módulos: Magento_user-variable-wee, Magento_Catalog, e Magento_Customer, Magento_Wishlist, Magento_Review Taxe em toda a estrutura. GitHub-37245, GitHub-37246, GitHub-37249, GitHub-37263
  • O serializador JSON no User O módulo de foi substituído por um novo serializador mais preciso (JsonHexTag). Anteriormente, o Commerce às vezes falhava ao tentar usar dados serializados pelo serializador regular quando continha elementos sem escape. GitHub-31377
  • Os erros de pipeline corrompidos não ocorrem mais ao executar uma reindexação completa (bin/magento indexer:reindex). As conexões AMPQ agora são fechadas antes que o gerenciador de processos bifurque processos.
  • O validador de mensagens da fila agora valida o subtipo de todos os elementos de matriz. Anteriormente, o Commerce acionou uma exceção.
  • A configuração de conexão de fila por tópico em app/etc/env.php O 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 de fila para um tópico tiver sido configurada em app/etc/env.php com uma troca personalizada, uma nova vinculação foi criada 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 */ o comentário não causa mais erros durante bin/magento setup:install ao atualizar o servidor MariaDB para a versão 10.5.1 ou superior.
  • O driver AwsS3 agora funciona conforme esperado como uma substituição da implementação base padrão de armazenamento de arquivos. Anteriormente, os dados podiam ser corrompidos quando esse driver era configurado para armazenamento de arquivos. GitHub-37844
  • bin/magento config:show e set comandos que usam $_ENV as variáveis agora permitem o uso de códigos de site e de armazenamento que contêm caracteres camelcase ou maiúsculos.
  • Classes adicionadas com !important como usado no Tailwind 3 para suporte a layout CSS. GitHub-37568
  • Um ausente jQuery a dependência foi adicionada à trim-input.js arquivo. GitHub-37683
  • Detalhes específicos do evento agora são passados como um segundo atributo (context) do log método. 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
  • mview_state Agora, o status do registro indica com precisão o estado com base na atividade de changelog quando uma conexão de banco de dados subordinada está disponível. Anteriormente, esses registros permaneciam em um waiting em implantações na nuvem, mesmo quando não havia novas entradas no changelog.
  • Adição de suporte para o precision opção de formato de moeda para preservar a paridade do recurso com o obsoleto ZendCurrency classe.
  • 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 Commerce estiver conectada ao armazenamento S3. Anteriormente, o Commerce exibia este erro: Cannot create image resource. File not found. GitHub-35706
  • O Adobe Commerce 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
  • A variável Administrators O nome foi removido da consulta usada para buscar uma função de administrador durante a criação da função de administrador. GitHub-36998
  • A variável bin/magento setup:config:set comando não falhará mais quando um nome de usuário de banco de dados inválido for incluído no app/etc/env.php arquivo. GitHub-37409
  • A classificação por coluna em palavras reservadas em um componente padrão da interface do administrador não resulta mais em um erro SQL em var/log/exception.log. GitHub-37423
  • Adicionado AddDataForCostaRica.php para fornecer informações de estado para a 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.
  • Param $options[position] para símbolos de moeda agora funciona como esperado e suporta a personalização da posição do símbolo de moeda. Anteriormente, após migrar do Zend Framework 1, a variável toCurrency método ignorou o position parâmetro. Esse problema ocorria em toda a interface do Administrador.
  • Código obsoleto refatorado relacionado à criação de propriedades dinâmicas em toda a base de código.
  • Os formatos de estilo personalizados criados com a extensão do editor TinyMCE nas versões do Adobe Commerce e do Magento Open Source anteriores à 2.4.6 agora estão disponíveis, conforme esperado, no Page Builder text tipo de conteúdo. Anteriormente, o formato de estilo personalizado era ignorado e somente os formatos padrão eram carregados após a atualização para o Adobe Commerce 2.4.6-p1. GitHub-36950
  • Adição da seguinte nota informativa à quote.php arquivo: Important: This method also copies customer data to quote and removes quote addresses. GitHub-37400
  • A instanciação do provedor de bloqueio agora passa \Magento\Framework\Lock\Proxy classe. O provedor de bloqueio agora está configurado com o lock configuração por meio do app/etc/env.php arquivo.
  • O mutex foi implementado para pedidos para evitar condições de corrida durante a atualização por solicitações simultâneas. Anteriormente, as solicitações simultâneas (condições de corrida) para cancelamentos de pedidos causavam entradas duplicadas no inventory_reservation tabela.
  • A variável populateWithArray função agora transforma as propriedades do objeto em caso de cobra corretamente, tornando-o compatível com o AbstractModel 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 no catalog_product_entity_varchar A tabela agora é incrementada corretamente depois que um produto é salvo. Anteriormente, esse valor aumentava em dez.
  • O Adobe Commerce não lança mais esta exceção do sistema de arquivos quando você tenta liberar o cache JavaScript/CSS: No such file or directory.
  • O valor de value_id in customer_entity_int agora é incrementado corretamente. Uma consulta de atualização é executada em vez de insert 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 exijam. (Esse bug foi introduzido por uma alteração de código 2.4.6 do Adobe Commerce.)
  • 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 no around plugins. GitHub-31443
  • As amostras Helper foi refatorado para remover aliases de importação enganosos. GitHub-31373
  • Agora, usuários administradores podem excluir ou renomear um 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 Adobe Commerce 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 modificava cabeçalhos de resposta que continham um anexo, o sistema lançava uma exceção no arquivo de log.
  • O suporte para mais classes de HTML foi adicionado a elements.xsd. GitHub-36891

Correções gerais

  • Alteração do nome do reponseBody variável para responseBody in app/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
  • Os compradores agora podem acessar páginas configuradas como nós de hierarquia quando as restrições de acesso estão ativadas. Anteriormente, ocorria um loop de redirecionamento infinito e o navegador exibia este erro: ERR_TOO_MANY_REDIRECTS.
  • 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 Commerce acionou 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, o 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.
  • A regra de produto relacionada É um de Agora a condição do funciona corretamente quando configurada com o Produtos a serem correspondidos configuração. Anteriormente, essa regra não identificava nenhum produto.
  • A grade da página do CMS agora filtra páginas com base na exibição de loja atribuída ao usuário administrador. Anteriormente, o escopo da função não era aplicado.
  • As senhas agora são exibidas conforme esperado quando a variável Show Password a caixa de seleção na página de logon está ativa.
  • O atributo de sistema Redefinir Token de Senha da entidade do cliente (rp_token) a validação foi removida 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 Commerce 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 administradores de empresas podem adicionar usuários de empresas pela loja. Anteriormente, o Commerce registrava esse erro quando o usuário administrador tentava adicionar um novo usuário: report.CRITICAL: Error: Call to a member function __toArray() on null in app/code/Magento/LoginAsCustomerLogging/Observer/LogSaveCustomerObserver.php:123.
  • Agora, os clientes podem fazer logon com êxito com uma nova senha de um dispositivo depois de redefinir a senha em outro dispositivo.
  • O endereço do cliente do Administrador Estado/Província O campo agora retém o último valor salvo conforme esperado. Anteriormente, ao remover o valor desse campo, o Commerce continuava a exibir o valor excluído na variável Estado/Província campo. GitHub-36846
  • O Adobe Commerce não lança mais um erro de violação de restrição ao desmarcar pela primeira vez e, em seguida, selecionar uma página CMS recém-criada.
  • Uma raiz de site de hierarquia agora é atribuída corretamente a uma página CMS recém-criada. Anteriormente, a seleção da raiz do site de hierarquia era incompatível nas páginas CMS recém-criadas.
  • Os erros não ocorrem mais durante as solicitações de um feed RSS para categorias quando RSS Feed Top Level Category está ativado. Anteriormente, a navegação na página de categoria do feed RSS resultava em Elasticsearch CRITICAL erros nos arquivos de log quando RSS Feed Top Level Category foi ativado.
  • O valor correto agora é salvo para gws_store_groups quando o escopo da função é alterado durante a criação da função do usuário. Anteriormente, quando o escopo da função era selecionado como All, o gws_store_groups o valor foi 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 da função foi selecionado como Custom, depois o gws_store_groups sempre foi salvo como nulo.
  • A página de redefinição de senha agora pode ser acessada clicando no link Admin reset password na página Admin login quando a variável Add Store Code to Urls está ativada. O link Admin reset password abria anteriormente a página de logon ou a página 404.
  • O intervalo de datas no painel Estatísticas do administrador agora é calculado com base no fuso horário definido nas configurações e, em seguida, convertido em UTC para buscar dados do banco de dados.
  • O filtro de hierarquia do CMS funciona conforme esperado depois de filtrar uma exibição de armazenamento e clicar em Save no administrador Content > Hierarchy. Anteriormente, ao clicar em Save atualizou a página, mas o contexto foi perdido e a exibição da loja selecionada não foi mais exibida.
  • Clicar no Send invitation botão (Administrador Marketing > Private sales > Invitation) agora envia uma solicitação POST junto com a chave de formulário e envia o convite com êxito. Anteriormente, ao clicar nesse botão, nem o método HTTP POST nem a chave de 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, o Adobe Commerce exibia esta 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

Cartões-presente e invólucro

  • Os comerciantes não podem mais criar um vale-presente com um valor negativo.
  • A variável setGiftOptionsOnCart A mutação agora remove o invólucro do presente de um pedido, conforme esperado. O valor de gift_wrapping_id agora não está definido no nível do carrinho. Anteriormente, a variável gift_wrapping_id foi atualizado para seu valor anterior depois que o pedido foi feito, mesmo quando esse valor não estava definido no nível do carrinho.
  • As contas de cartão-presente agora permanecem ativas conforme esperado quando o reembolso parcial de um produto simples é processado a partir do pedido ao qual o cartão foi aplicado. Anteriormente, a conta do cartão-presente era excluída.
  • A variável setGiftOptionsOnCart o mutation agora atualiza com êxito o banco de dados ao remover uma mensagem de presente do carrinho. Anteriormente, os detalhes da mensagem não eram atualizados no banco de dados e a mensagem de presente não era removida do carrinho.
  • O registro de presentes Event Information O rótulo agora é traduzido conforme esperado.
  • Os subtotais agora são calculados corretamente para valores de cartão-presente personalizados.
  • Os cartões-presente agora são aplicados corretamente durante o check-out com vários endereços. Anteriormente, os valores de cartão-presente eram aplicados incorretamente para remessas de vários endereços, o que resultava em valores inválidos de cartão-presente.
  • A emulação agora começa durante send() chama depois que a emulação é concluída durante o getInfoBlockHtml() e nenhum erro será registrado. Anteriormente, a variável system.log o arquivo foi inundado com este erro: main.ERROR: Environment emulation nesting is not allowed. GitHub-35603
  • Agora você pode usar o updateCartItems mutação para atualizar um cartão-presente em um carrinho de compras. Anteriormente, somente a quantidade do cartão podia ser atualizada no carrinho por essa mutação.
  • O invólucro do presente agora é incluído, conforme esperado, em uma cotação baseada em carrinhos mesclados. Anteriormente, as mensagens de presente eram mescladas com êxito, mas não as seleções de quebra automática.
  • A variável addProductsToCart a mutação agora adiciona com êxito um cartão-presente a um carrinho. Anteriormente, essa consulta esperava o nome do recipient do cartão-presente, mas o nome do remetente foi retornado. O Adobe Commerce emitiu este erro: Please specify a recipient name. GitHub-36665

Gerenciador de tags da Google

  • O módulo Tag do Google agora envia os dados corretos para a camada de dados. Anteriormente, os dados de impressões de página não eram enviados para a camada de dados.

GraphQL

  • A variável getCustomerWishlist a consulta não resulta mais em um erro interno do servidor ao consultar listas que contêm produtos configuráveis.
  • A variável customerCart a query agora retorna todos os descontos aplicados em produtos de pacote conforme esperado. Anteriormente, os descontos totais aplicados a um produto de pacote eram retornados como zero.
  • A variável getCustomerWishlist a consulta não resulta mais em um erro interno do servidor ao consultar listas que contêm produtos configuráveis.
  • A declaração da autoridade is_subscribed sinalizador, seu resolvedor, cache e testes associados foram movidos do CustomerGraphQl módulo para o NewsletterGraphQl módulo.
  • A variável addProductsToCart A mutação não relata mais erros não relacionados no user_errors. Anteriormente, erros relacionados ao carrinho eram incluídos no user_errors juntamente com os erros de operação esperados. GitHub-37908
  • A variável products o filtro de produto de consulta agora pode retornar resultados de correspondência parcial, bem como correspondências completas. O novo match_type O atributo (PARTIAL, FULL) oferece suporte à especificação de tipos de correspondência. Anteriormente, a consulta retornava somente correspondências completas.
  • O mutex foi adicionado ao addConfigurableProductsToCart consulta 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á definida como Filterable (no results). Anteriormente, somente valores diferentes de zero eram retornados.
  • Melhorou o desempenho do setShippingAddressForEstimate consulte as 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.
  • A variável products query ConfigurableProduct.configurable_options O campo agora retorna somente valores que têm pelo menos um produto ativado. Anteriormente, esse campo retornava produtos simples desativados.
  • Melhorou o desempenho do GetCategories query reduzindo 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 variável products a consulta agora retorna todos os detalhes relevantes de preços da loja quando a precificação dinâmica é definida 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ções do GraphQL agora incluem nomes de consulta de nível superior apenas 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 estiver definida como Catalog, products agora, as consultas nesse produto resolvem a configuração corretamente. Anteriormente, qualquer filtro fornecido era alternado para o Visibility: Catalog configuração. GitHub-36591
  • A variável customer a consulta agora retorna um product_sale_price campo que inclui imposto em pedidos quando o preço do produto foi configurado para incluir imposto. GitHub-36946
  • Atributos de produto do tipo DateTime agora mapear para o FilterRangeTypeInput filtrar em consultas de produtos. Anteriormente, esses atributos eram mapeados para FilterMatchTypeInput. Como resultado dessa alteração, as consultas com filtragem em DateTime atributos exigem from e to em vez de corresponder aos valores.
  • A variável customer a consulta 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 variável categories a consulta não retorna mais um erro quando a variável items.redirect_code o valor da resposta contém um valor nulo. GitHub-36675
  • Os produtos relacionados com base em regras agora são carregados conforme esperado nas respostas do GraphQL após uma limpeza completa do cache. Anteriormente, os atributos de EAV do produto que eram responsáveis por correspondências baseadas em regras não eram carregados para a entidade solicitada, embora fossem carregados após o recarregamento da página de produto da loja.
  • A variável changeCustomerPassword A mutação agora aciona o email conforme esperado após redefinir uma senha com êxito.
  • urlResolver e route as consultas agora retornam um resultado quando a variável Target Path de reescrita de URL é um URL absoluto. Anteriormente, a variável urlResolver a consulta retornou NULL quando você a usou para recuperar dados de redirecionamento.
  • A variável products a consulta agora retorna os rótulos corretos quando existem várias exibições de loja. GitHub-29635
  • A variável categoryList a consulta agora retorna um campo preenchido product seção do options bloco para produtos derivados de produtos de pacote, conforme esperado. Anteriormente, nenhuma informação sobre pacotes de produtos derivados era retornada.
  • A variável route o query agora retorna rotas para categorias e produtos conforme esperado, sem um erro interno do servidor. GitHub-36544
  • A variável products a consulta agora busca url_key valores quando várias categorias são selecionadas.
  • product as consultas agora retornam agregações somente para produtos atribuídos ao catálogo compartilhado especificado. Anteriormente, os dados de agregação de produtos não atribuídos a um catálogo compartilhado apareciam na navegação em camadas.
  • A variável OptionValueProvider classe get() método agora retorna um valor de opção de atributo com base na option_id conforme esperado. Anteriormente, retornava um erro. GitHub-35910
  • A variável products o query 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 consultar related_products, upsell_products, e crosssell_products em ProductInterface. GitHub-29769
  • A variável products o query 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 a ProductAttributeFilterInput, que permite a 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 upload do ícone de favicon do administrador agora é compatível .ico tipos de arquivo. 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 de barra vertical ("|") para analisar valores de seleção múltipla até que o separador de valor determinado não fosse igual ao valor padrão. O processo de importação falhou posteriormente.
  • Agora, os redirecionamentos 301 são criados automaticamente quando URL Key Os valores de são atualizados pela importação de CSV.
  • 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
  • Importar origens 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 falhava 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 a serem importados, e o Commerce agora exibe este erro: There are no valid rows to import. Anteriormente, a validação era aprovada sob essas condições, mas o processo de importação falhava com esta mensagem: entity values are mixed. GitHub-32905
  • A importação de chaves de URL com o mesmo produto não substitui nem exclui chaves de exibição de loja padrão existentes. Agora, as substituições de URL são geradas novamente para exibições de loja somente quando não há substituições url_key valor. Anteriormente, a importação de regravações de URL com a mesma chave de URL substituía a chave de URL de exibição de loja padrão existente. (key_store As regravações de URL foram excluídas, mas a regravação de URL no nível de exibição Loja padrão do produto ainda estava definida como key_store.)
  • A contagem de produtos não é mais alterada inesperadamente durante a importação. A liberação de cache agora é adiada para depois do processo de importação.
  • O status das ações de importação agendadas agora representa com precisão o sucesso ou a falha da operação de importação. Anteriormente, todas as ações eram registradas como bem-sucedidas.
  • O comércio tem agora em conta a Disable Automatic Group Change Based on VAT ID configuração durante a importação de registros do cliente. Anteriormente, a variável disable_auto_group_change nos arquivos de importação foi ignorado. GitHub-36409
  • Magento\Framework\Convert\Excel O agora processa com êxito números precedidos por um espaço. O XML do Excel agora codifica campos como um String. Anteriormente, o gravador do Excel codificava esses valores como number, que resultou 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 Adobe Commerce 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.
  • Importando produtos com country_of_manufacture Os atributos criados por um usuário administrador com uma configuração de localidade diferente do usuário administrador que está importando os produtos não geram mais um erro de validação. Anteriormente, essa operação de importação podia resultar em um erro de validação na country_of_manufacture atributo.
  • Os dados de origem do estoque agora são importados com êxito pelo processo de importação da loja, e o Commerce agora exibe uma mensagem de notificação completa quando o processo de importação é concluído. Anteriormente, a mensagem de notificação estava ausente.
  • A invalidação do indexador redundante foi removida quando os indexadores estão no modo agendado.
  • Os produtos exportados agora têm a manage_stock quando a variável use_config_manage_stock valor igual a 1. Anteriormente, esse valor padrão estava incorreto.
  • O Adobe Commerce 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 Adobe Commerce exibia este erro: Maximum error count has been reached or a system error is occurred!.
  • O desempenho da exportação do cliente a partir da grade do Cliente foi aprimorado em implantações em que o B2B está habilitado.
  • O processo de importação de produto não lança mais um erro de validação quando um valor de atributo em 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 HTML eram removidas do editor do Page Builder após a exportação e importação do produto.
  • As configurações não padrão (escopo de site ou loja) que são adicionadas como variáveis de ambiente não interrompem mais o app:config:import processo 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 de Elasticsearch mudava quando produtos novos e existentes eram importados.
  • Os relatórios do produto agora são exportados para o var diretório. 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

  • Melhor desempenho do catalogrule_product indexador quando nenhuma regra de catálogo está definida. GitHub-34784
  • Problemas com o desempenho do indexador de preços foram resolvidos. O desempenho do indexador não é mais degradado 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 endereçadas 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.
  • Criação de um tipo de produto personalizado quando os indexadores estiverem definidos como Update on schedule não causa mais a atualização do índice cron tarefa a falhar. GitHub-36471
  • Problemas de exibição na página de detalhes do produto da loja provocados pela indexação de permissões de catálogo foram resolvidos. Anteriormente, o Adobe Commerce limpava a tabela de índice primeiro e depois reindexava durante uma catalogpermissions_product ou catalogpermissions_category processo de indexação. As permissões de catálogo não funcionavam como esperado na loja até que a reindexação fosse concluída.
  • bin/magento indexer:reindex customer_grid O não falha mais com um erro MySQL quando a grade do cliente inclui atributos personalizados recém-criados do cliente. 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

Infraestrutura

  • Adição de um ausente return para o controlador enable de uso do Admin. Anteriormente, não havia return e o controlador em FrontendController a classe foi manipulada incorretamente. GitHub-31374
  • MySQL substituído CREATE TEMPORARY TABLE ... LIKE com refatorado CREATE TEMPORARY TABLE para conformidade com o MySQL 8.x. GitHub-37926
  • O Adobe Commerce não inclui mais o caminho completo para a raiz do servidor na mensagem de erro exibida quando uma solicitação HTTP malformada foi enviada ao servidor. Somente as cadeias de caracteres agora são passadas para o explode como um segundo argumento.
  • restricted_classes.php substituiu Zend_Validate_File_Upload. Anteriormente, o validador falhava durante o upload de um arquivo de importação maior do que o valor configurado em php.ini . GitHub-37281
  • As opções de atributo fornecidas pelo modelo de fonte de dados e instaladas usando o patch de dados de configuração (normalmente de módulos de terceiros) agora podem ser usadas com regras de segmento do cliente. Anteriormente, essa combinação não retornava a lista de clientes que correspondiam ao segmento configurado.
  • O mecanismo de template 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
  • Os arquivos CSS não são mais corrompidos quando mesclados quando var/tmp e pub/static estão em diferentes sistemas de arquivos e CSS Merging Enabled está ativado. 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 em potencial ao chamar uma função membro getId() em int, que ocasionalmente acionava 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
  • Atualizando itens de origem de estoque via REST V1/inventory/source-items O 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> O 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 do estoque de produtos configuráveis agora é atualizado na loja, conforme esperado, quando os produtos secundários são atualizados pelo V1/inventory/source-items.
  • A variável POST <store_code>/V1/inventory/source-items A chamada REST agora valida a carga para espaços em branco em itens de origem de inventário 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 No Manage Stock estiver ativada para um produto. Anteriormente, quando essa configuração era ativada, o Commerce 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 Commerce lançou uma TypeError exceção.
  • A contagem de origem da grade de administração agora retorna registros válidos após a aplicação de um filtro. Anteriormente, a variável getSourcesCount o método sempre retornou 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 do inventory_source_item A tabela não aumenta mais a cada UPDATE operação. Anteriormente, cada atualização aumentava o AUTO_INCREMENT desta tabela, o que acabou causando a AUTO_INCREMENT valor a ficar fora do intervalo ao adicionar um novo registro à inventory_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 do Synchronize with Catalog definição de configuração. Anteriormente, os produtos eram sincronizados corretamente somente quando essa configuração era ativada.
  • O Adobe Commerce 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 um produto configurável e seus produtos secundários Stock Availability o valor é atualizado por uma atualização de inventário em massa. Anteriormente, não era possível devolver um produto configurável e seus produtos derivados ao estoque por atualização em massa.
  • O tipo de dados para fontes fora do padrão foi atualizado para DECIMAL (12, 4) para suportar até oito dígitos inteiros, que é o mesmo limite implementado para o estoque padrão. Esse valor agora está sincronizado com as páginas Admin adicionar e editar produto, que oferecem suporte à validação de entrada para até oito dígitos para todos os tipos de fontes de inventário. Anteriormente, a entrada para o Quantity O campo (para fontes diferentes do padrão) só tinha suporte de até seis dígitos.
  • 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 Adobe Commerce exibia status de estoque incorreto para fontes de produtos.
  • \Magento\Catalog\Model\Product::getIsSalable() agora retorna o status do estoque com base no escopo definido no objeto do produto (\Magento\Catalog\Model\Product::getStoreId()). Anteriormente, getIsSalable() status de estoque retornado com base no escopo atual, independentemente do objeto do produto.

Logs

  • Atualização do formato de data e hora no recurso Relatórios do sistema para incluir registros de arquivos de log em relatórios.
  • 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.

Galeria de mídia

  • Os comerciantes agora podem fazer upload de imagens com o mesmo nome, mas com caracteres em maiúsculas e minúsculas diferentes (uma combinação de caracteres em maiúsculas e minúsculas) na Galeria de mídia. Anteriormente, os nomes dos arquivos de imagem não diferenciavam maiúsculas de minúsculas no Page Builder e os arquivos com os mesmos nomes, exceto maiúsculas e minúsculas, eram substituídos no armazenamento de mídia do Commerce, que estava hospedado em sistemas de arquivos que diferenciavam maiúsculas de minúsculas.

Informativo

  • O Commerce agora verifica se a funcionalidade de assinatura do boletim informativo está habilitada 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.
  • A rotação do log de ação do administrador agora funciona conforme esperado quando a frequência de arquivamento do log de rotação é definida como intervalos semanais ou mensais. Anteriormente, quando os intervalos semanais ou mensais eram definidos, os logs não eram girados.
  • O Commerce agora aplica o valor de desconto correto a pedidos parcialmente cancelados. Anteriormente, o valor do desconto era calculado na variável base_discount_cancelled A coluna foi calculada incorretamente quando um pedido foi alterado. O suporte para valores negativos foi adicionado às faturas de pedidos com desconto.
  • O RESTO V1/orders O endpoint agora aplica cartões-presente conforme esperado ao importar pedidos. Anteriormente, as alterações nos atributos de extensão do cartão-presente neste endpoint não eram salvas.
  • O Commerce 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 Commerce exibia uma Request-URI Too Long erro no console do navegador.
  • O status do pedido agora é marcado como fechado em vez de concluído quando o valor inteiro do pedido é reembolsado com crédito de armazenamento mais um método de pagamento adicional. Anteriormente, o status do pedido era marcado como concluído porque o valor reembolsado era calculado incorretamente.
  • Melhorou o desempenho do OrderRepository::get() reduzindo o número de vezes que 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 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 variável isLast() a função não retornou true conforme esperado. GitHub-36722
  • Melhor desempenho do aggregate_sales_report_bestsellers_data trabalho cron otimizando a consulta de dados principais.
  • O Adobe Commerce não lança mais um erro ao criar um aviso de crédito com um reembolso offline para um saldo de cliente quando o usuário administrador não tem permissão para acessar o site do cliente. Anteriormente, o Adobe Commerce exibia este erro: More permissions are needed to view this item, e o usuário administrador não pôde criar uma restituição de crédito da loja.
  • 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 Adobe Commerce 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
  • O Adobe Commerce não lança mais um erro na página de devolução de pedidos de vitrine quando o produto configurável que está sendo devolvido foi excluído. Anteriormente, o Adobe Commerce registrava este erro: report.CRITICAL: Error: Call to a member function getShipmentType() on null in magento2ee/app/code/Magento/Rma/view/frontend/templates/return/create.phtml:52.
  • 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 do Adobe Commerce 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.
  • A variável GET V1/orders/<OrderID> O endpoint agora retorna informações sobre produtos configuráveis e simples no pedido, independentemente do status do estoque desses 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 Adobe Commerce lançou uma Division by zero exceção. GitHub-36800
  • Usar o rest/V1/orders/{id}/comments ponto de acesso 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 na variável sales_order e sales_order_grid e nem a página Meus pedidos nem a grade Ordem administrativa exibiram a ordem. GitHub-34180
  • As faturas, remessas e avisos de crédito agora podem ser movidos de volta com êxito do arquivo junto com suas ordens associadas quando as IDs que eles incluem diferem das IDs da ordem. Anteriormente, se um pedido fosse movido para o arquivo e restaurado, os registros de fatura, remessa e aviso de crédito ficariam ausentes desse pedido se os números de ID não correspondessem. GitHub-36847

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 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.
  • O conteúdo convertido em HTML agora é exibido em modelos de email conforme esperado quando a variável Magento_AsyncConfig O módulo do está desativado. Anteriormente, os templates de email continham apenas HTML bruto.
  • O desempenho das operações de salvamento do Page Builder no navegador Chrome melhorou.
  • Agora é possível usar a opção Page Builder em Administração > Content > Pages para inserir texto copiado em todos os estilos usando o text elemento. Anteriormente, o Page Builder exibia somente texto sem formatação e não salvava estilos.
  • Os erros do CORS não aparecem mais durante a edição do conteúdo do produto com o Page Builder quando o usuário administrador tem uma ACL específica. O usuário administrador agora pode salvar o produto. Anteriormente, o Page Builder não salvava o produto e o processo de salvamento congelava.
  • Informações precisas sobre o tamanho do arquivo agora são incluídas na pré-visualização da imagem de imagens carregadas no Page Builder.
  • Os elementos de página do Page Builder agora são renderizados em uma velocidade aceitável no navegador Chrome (v112). Anteriormente, salvar o conteúdo com o Page Builder em execução no navegador Chrome era lento, e o Commerce registrou esse erro no console do navegador: [ERROR] Page Builder was rendering for 5 seconds without releasing locks.
  • A reprodução automática do elemento de vídeo do Page Builder agora funciona conforme esperado em navegadores móveis Safari no iOS quando o elemento é vinculado diretamente a um arquivo de vídeo remoto. Anteriormente, nenhuma imagem de visualização era exibida.
  • O Page Builder agora funciona conforme esperado no navegador Chrome. Anteriormente, as alterações de conteúdo feitas nesse navegador nem sempre eram salvas.
  • Carregar uma página de edição de produto do administrador um produto não gera mais uma página intermitente Uncaught TypeError Erro de JavaScript.
  • As imagens carregadas por meio do editor do Page Builder agora são marcadas como usadas na Content > Media Gallery. Anteriormente, essas imagens eram marcadas como não usado em nenhum lugar na Galeria de mídia.
  • Adicionar um produto a um carrinho de compras do carrossel do Page Builder não duplica mais a quantidade de itens das páginas com dois widgets diferentes que exibem os mesmos produtos.
  • O Page Builder não adiciona mais o tabindex Atributo HTML para tags de hiperlink a ao editar um hiperlink, salve um modelo.
  • O widget Produtos e a pré-visualização do Page Builder agora lidam corretamente com caracteres especiais de HTML. Anteriormente, o widget do produto não exibia corretamente SKUs que continham a variável & 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, a página na qual você tentou colar o texto não podia ser salva, e o Adobe Commerce exibia este erro de console: [ERROR] Page Builder was rendering for 5 seconds without releasing locks..
  • Page Builder column-block o tipo de conteúdo que foi criado em versões mais antigas do Page Builder agora é exibido corretamente.
  • A filtragem da descrição de metadados do produto durante a criação do produto pelo administrador foi aprimorada. Anteriormente, se o Page Builder estivesse ativado, a descrição dos metadados do produto era gerada com base no padrão {{name}} {{description}} máscara. A máscara de metadescrição do produto padrão agora é composta de {{name}}. GitHub-36107
  • A adição de um bloco dinâmico sem conteúdo não aciona mais um erro.

Pagamento

  • Agora o Commerce 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 resultava em inconsistências entre os registros do Commerce e do PayPal.
  • As transações de Finalização de compra do PayPal Express agora incluem SKUs de produto filho e títulos completos do produto. A variável Magento/Paypal/Model/Cart.php O arquivo agora coleta SKUs de produtos secundários com o título do produto principal para identificar o título do produto com o SKU secundário. GitHub-36808
  • A variável Card Security Code Does Not Match A definição da configuração agora é processada conforme esperado durante o processo de pagamento do Payflow Pro. Anteriormente, esse processo de avaliação nunca era concluído, o que bloqueava o check-out.
  • A opção de método de pagamento do Cofre não é mais exibida no fluxo de trabalho Checkout de administrador quando o comprador não tem um token de cofre. GitHub-36273
  • A variável Venmo agora pode ser ocultado quando os botões PayPal estiverem ativados. Anteriormente, a variável Venmo não foi possível remover o botão do carrinho, do minicarrinho, dos detalhes do produto ou das páginas de check-out.
  • Os compradores agora podem selecionar um método de envio ao aplicar o código do cupom durante o checkout. Anteriormente, sob essas condições, o Commerce emitiu um erro e atribuiu uma remessa com taxa uniforme ao pedido.
  • Problemas com o processamento de vitrine dos métodos de pagamento de crédito do PayPal e do PayPal foram resolvidos.
  • Solução de problemas com URLs de fallback para pedidos pagos com a Ideal Payments quando o pagamento local está ativado.
  • Os compradores não podem mais criar um pedido do PayPal sem adicionar um sobrenome.

Braintree

  • As informações de pagamento de Braintree agora são salvas por loja, e os compradores agora veem somente as informações de cartão que foram salvas na loja em que estão comprando. Anteriormente, os compradores podiam ver informações de cartões armazenadas de todas as lojas durante o check-out. GitHub-34253
  • Os compradores agora podem fazer check-out de um pedido enviado para vários endereços usando um método de pagamento Braintree quando o cofre para pagamentos com cartão está 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 Braintree.
  • A Adobe Commerce não lança mais um erro ao criar uma segunda fatura parcial para um pedido pago por Braintree quando o Enable Vault for Card Payments está ativado. Anteriormente, quando um comerciante tentava criar uma segunda fatura, a Adobe Commerce 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 Cofre de Braintree não é mais desmarcada automaticamente no fluxo de trabalho de finalização quando um comprador atualiza seu endereço de faturamento. Anteriormente, o método de pagamento era desmarcado quando o comprador desmarcava a variável My billing and shipping address are the same botão.
  • 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 sucesso com Braintree quando a resposta Braintree inclui um valor vazio para threeDSecureInfo/eciFlag. Anteriormente, um erro de PHP ocorria durante o check-out quando este valor estava vazio.
  • O Adobe Commerce 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 o checkout usando o Braintree Payments e o Adobe Commerce 2.4.6 com ReCAPTCHA v2 ou v3 invisível. GitHub-37241
  • Os compradores não podem mais clicar no link PayPal botão para comprar um produto configurável sem primeiro selecionar as opções necessárias. Anteriormente, os compradores podiam clicar no link PayPal e foram redirecionados posteriormente para a página do produto com um erro:
  • A variável PayPal agora é exibido conforme esperado nas páginas do carrinho e do minicarrinho. Anteriormente, esse botão não era exibido na página do carrinho e duplicado na página do mini carrinho.

Desempenho

  • Vários cliques no Vendas > Pedidos o menu suspenso de ação em massa da página não gera mais várias solicitações de POST. GitHub-37997
  • Somente 200 ou 404 as 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 de Controle de cache da página contenha private . Anteriormente, um status HTTP 200 com private no cabeçalho Cache-Control foi armazenado em cache e um status HTTP 301 foi armazenado em cache, a menos que contivesse private em seu cabeçalho Cache-Control. GitHub-36492
  • Remoção dos não utilizados Magento\Catalog\Controller\Adminhtml\Product\Initialization\Helper de Magento\Catalog\Model\ProductRepository. Anteriormente, ProductRepository carregou este auxiliar, que é um Adminhtml controlador. 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 Products in Category A guia foi otimizada. A variável Assign e Remove botões na Add Product by SKU As guias de agora ficam desativadas 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 do 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 Commerce tentava carregar todos os atributos de produto.
  • Problemas de desempenho ao carregar atributos de produto usados pelas regras do carrinho foram resolvidos. Somente atributos de produto para regras de carrinho ativas agora são carregados.
  • A variável bin/magento setup:perf:generate-fixtures setup/performance-toolkit/profiles/ee/small.xml O comando agora é executado com sucesso quando executado várias vezes. Anteriormente, ocorria este erro quando executado mais de uma vez: Coupon with the same code already exists.

Promoção

  • Os efeitos da Fixed amount discount for whole cart regra de preço, quando aplicada com a variável Apply to shipping amount agora é distribuído proporcionalmente conforme esperado entre produtos e valores de remessa. Anteriormente, os cálculos de desconto estavam incorretos.
  • A variável 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 a página de check-out Sign in botão. Anteriormente, os compradores não podiam fazer logon e o Commerce exibia erros de 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 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 pedido 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) na página Relatório de carrinhos abandonados. GitHub-36560
  • Os nomes das transações do GraphQL agora são exibidos corretamente depois que o New Relic é desativado no Administrador do Commerce. GitHub-36112

Resenhas

  • Os compradores não podem mais enviar rapidamente análises de produtos duplicadas quando o reCAPTCHA v3 Invisível está habilitado.

Recompensas

  • Os emails de expiração de pontos de premiação não são mais enviados depois que os pontos expiram. A variável magento_reward_balance_warning_notification e magento_reward_expire_points as tarefas cron foram alteradas para aumentar a flexibilidade e a capacidade de envio de email. Anteriormente, os comerciantes não podiam enviar muitos emails gerados por essas tarefas do CRON em um curto período de tempo. Isso pode ter causado atrasos no envio de notificações sensíveis ao tempo.
  • Os pontos de premiação expirados agora são subtraídos do saldo de pontos de premiação atual de um comprador, conforme esperado.
  • A notificação por email de atualização do saldo de pontos de premiação agora leva em conta o contexto de loja atual. Anteriormente, o email de atualização de saldo de pontos de premiação usava as configurações da loja padrão.
  • Os pontos de recompensa agora podem ser reembolsados após a criação de um memorando de crédito. Anteriormente, os comerciantes não podiam restituir pontos de recompensa após a criação de um aviso de crédito e o status do pedido permanecia Completed, não Closed.

ADM

  • O RESTO POST /V1/returns agora cria uma RMA por produto. Anteriormente, essa solicitação podia ignorar a validação e retornar vários RMAs por produto.
  • Os atributos de RMA agora são adicionados automaticamente ao formulário EAV padrão quando a variável Show on Storefront O atributo RMA está definido como não. Anteriormente, o pop-up de detalhes do item de RMA ficava em branco quando um atributo de retorno personalizado era criado e o Show on Storefront O atributo RMA foi definido como não.
  • O valor de Enable RMA atributo agora corresponde ao valor especificado na configuração quando o Use Config na página de edição do produto estiver ativada.
  • A variável Enable RMA O atributo no nível de produto individual agora respeita a configuração das configurações de RMA da loja. Anteriormente, essa configuração era desativada por padrão quando você adicionava um produto, independentemente das configurações da loja.

Pesquisar search-heading

  • 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 search_query mais tempo que a consulta demorou para ser concluída.
  • A classificação alfabética de produtos por nome agora funciona corretamente para nomes que contêm caracteres turcos.
  • A variável Use in Search Results Layered Navigation a propriedade do atributo do produto agora é exibida somente quando 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 do search_query tabela. Anteriormente, consultas incorretas ou consultas em campos de pesquisa vazios retornavam um enorme conjunto de dados, o que aumentou o tamanho do search_query tabela 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.
  • Texto informativo sob o Search Weight do atributo Storefront Properties campo de entrada em Admin Stores > Attributes > Product A 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.
  • O Commerce agora faz a transição para uma nova página de remessa, conforme esperado, depois de criar uma remessa parcial para um pedido. Anteriormente, após criar uma remessa parcial, o Commerce 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 $shippingAssignment conforme esperado. GitHub-37283
  • O Commerce não lança mais uma exceção durante o check-out com vários endereços de envio quando o usuário administrador usa 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 variável cart a consulta agora retorna descontos de entrega discretos como descontos de entrega separados com etiquetas de desconto exclusivas. O novo applied_to a propriedade discount suporta a diferenciação entre descontos aplicados a um item de carrinho. Anteriormente, todos os descontos de envio eram combinados em um único código Shipping Discount valor.
  • Quando um usuário administrador cria um novo pedido, os endereços de faturamento e de envio do pedido inicial preenchem automaticamente os campos relevantes quando o usuário administrador clica em Reorder botão (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 variável Shipping Policy A caixa de texto agora está visível no escopo de Exibição da loja do administrador quando Apply custom Shipping Policy está ativada e uma política de envio personalizada está disponível. GitHub-36425
  • A variável cart a consulta agora retorna um selected_shipping_method que corresponde a um dos available_shipping_methods códigos de transportadora e método. 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 variável setShippingAddressesOnCart A mutação não lança mais um erro quando o segundo valor na matriz de rua é nulo. Anteriormente, essa exceção era gerada: The address failed to save. Verify the address and try again. GitHub-35160

Mapa do site

  • O mapa de site XML agora funciona como esperado em uma implantação de várias matérias. Anteriormente, os mapas de site não continham as páginas padrão atribuídas para cada loja. GitHub-35001
  • Agora os comerciantes podem criar e salvar um produto quando o site id != 1 e o modo de armazenamento único está ativado. Anteriormente, a ação de salvar falhava com esta mensagem: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails. GitHub-35009

Estágios

  • As atualizações de preparo para regras de vendas não são mais duplicadas no painel de preparo.
  • Os produtos do pacote agora são atualizados corretamente se um comprador os adicionar ao carrinho quando uma atualização de programação estiver em andamento. Anteriormente, se um produto combinado com opções era adicionado ao carrinho quando uma tarefa de agendamento estava em andamento, o Commerce lançou esta exceção: Some of the products below do not have all the required options. Please select all required options.
  • As atualizações de programação agora mantêm os preços corretos para as opções de pacote. Anteriormente, esses preços eram alterados para zero para exibições específicas de sites ou lojas.
  • Atualizar uma atualização agendada não remove mais a versão anterior do item preparado se nenhuma data final for especificada. Anteriormente, quando um item preparado era atualizado, a versão revertida do item era removida se nenhuma data final fosse especificada. O Commerce não emitiu um erro ou avisou os usuários administradores antes da exclusão.
  • Os valores de rótulos de exibição da loja não são mais apagados após uma atualização programada para regras de preço do carrinho. Anteriormente, esses rótulos eram apagados mesmo se não estivessem especificados na atualização.
  • As visualizações de preparo de conteúdo agora funcionam corretamente em páginas vinculadas. Anteriormente, não era possível navegar para páginas vinculadas na visualização de preparo, mas elas eram direcionadas incorretamente para páginas da loja.
  • Сalterar uma atualização de preparo não resulta mais na remoção de atualizações programadas que são atribuídas a uma data posterior.
  • Os erros de JavaScript não ocorrem mais ao adicionar ou editar atualizações agendadas para categorias quando os Experimentos de conteúdo do Google Analytics estão ativados.
  • Os comerciantes agora podem salvar com êxito uma atualização de programação existente para uma categoria depois de visualizá-la ou editá-la. Anteriormente, o Adobe Commerce emitia um erro no system.log.
  • Os links para download agora são preservados conforme esperado quando uma atualização programada é aplicada enquanto os produtos adicionados anteriormente estão no carrinho. Anteriormente, os links baixáveis desapareciam das páginas Minha conta (Meus produtos baixáveis) e Exibição de pedido de administrador do cliente.
  • Os produtos agora estão visíveis na loja, conforme esperado, após uma atualização de preparo que habilita o produto a ser aplicado. Anteriormente, o produto era habilitado no Admin, mas não estava visível na categoria vitrine quando o modo indexador do inventário do catálogo estava definido como Update on Schedule. Uma reindexação completa corrigiu o problema.
  • A variável staging.synchronize_entity_period fila do consumidor no magento_bulk A tabela não aumenta mais quando não há atualizações de preparo a serem processadas. Anteriormente, quando cron foi configurado para executar a cada minuto, um novo registro relacionado à staging.synchronize_entity_period o consumidor foi adicionado a esta tabela a cada minuto.
  • O Adobe Commerce não lança mais um erro SQL ao criar uma alteração de agendamento para um produto enquanto salva outro produto. Anteriormente, o Adobe Commerce exibia este erro: The product with the SKU "%1" couldn't be added to the current update.

Regras do Target

  • Agora as regras do Target funcionam corretamente com diferentes visualizações de loja. Anteriormente, os problemas com o cache da regra de produtos relacionados impedia a exibição de produtos recomendados em implantações de várias lojas.

Imposto

  • Agora as faturas exibem o subtotal correto quando os impostos são configurados e o FPT é ativado.
  • O Commerce agora exibe o valor correto para o Regular Price quando uma opção personalizada é selecionada para um produto que tem uma Special Price valor quando Price Display Settings está definido para incluir imposto.
  • O imposto agora é incluído, conforme esperado, no preço de envio do fluxo de trabalho de check-out, conforme especificado pelas configurações.
  • A variável cart query applied_taxes o valor de resposta agora inclui todas as regras de imposto individuais conforme esperado. Anteriormente, retornava o valor total do imposto quando várias regras de imposto eram configuradas.
  • O ícone recolher/expandir para o Additional Settings durante a criação da regra de imposto agora funciona conforme esperado. Anteriormente, somente o ícone de expansão funcionava. GitHub-37922
  • Agora é possível editar o valor do País e Região da Alíquota do Imposto na página de edição Regra de Imposto, conforme esperado. Anteriormente, as edições feitas nessa página não eram salvas.
  • O valor do imposto na área de estimativa do carrinho agora é atualizado conforme esperado quando o método de envio é atualizado. Anteriormente, a taxa de imposto não era atualizada depois que um comprador mudava de país durante o check-out.
  • A variável tax class O valor de produtos simples recém-criados agora é definido como o valor do produto principal ao criar novas variações de um produto configurável existente no escopo Exibição de loja. 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

  • Melhorou a AdminCreateOrderWithVirtualProductFromDefaultSourceWithBackorders teste para eliminar falhas causadas pela conclusão prematura do campo de email.
  • StorefrontVerifyProductAfterPartialReindexOnSeveralWebsitesTest O foi refatorado para melhorar a confiabilidade. GitHub-38359
  • Corrigido o AdminSimpleProductwithTextandVisualSwatch teste introduzindo uma etapa extra que defina explicitamente os atributos a serem usados na pesquisa.
  • Erro de digitação corrigido no SortbyTest teste de unidade. GitHub-37792
  • Remoção de referências a classes inexistentes em testes de unidade. GitHub-37636
  • Melhorou a AdminCreateOrderWithVirtualProductFromDefaultSourceWithBackorders teste para eliminar falhas causadas pela conclusão prematura do campo de email.
  • Refatorado Magento\GraphQl\Catalog\ProductSearchTest::testFilterProductsBySingleCategoryId teste para lidar com a ordem de categoria aleatória em products respostas à consulta.
  • Problemas de desempenho com arrays grandes no TableNameSniff foram resolvidas.
  • Os testes de integração para a funcionalidade editar registro de presentes não dependem mais das IDs de entidade existentes. Todos os dados necessários agora são obtidos através de luminárias. Anteriormente, \Magento\GiftRegistry\Controller\Index\EditPostTest falhou.
  • CollectionTest::testGetDateRangeFirstPart() agora é responsável pelo Horário de verão.
  • Aviso de desativação corrigido para StorefrontDeleteItemFromRequisitionListPrintView.

Estrutura da interface

  • O carregador de imagem agora funciona conforme esperado em linhas dinâmicas. Agora as imagens são carregadas corretamente quando enviadas como um array multinacional. GitHub-37957
  • Os estilos de upload de arquivo não são mais duplicados no tema Luma. GitHub-32373
  • Os campos de rua no formulário de endereço de edição da conta do cliente do campo de rua agora são salvos corretamente. Esses campos agora são classificados corretamente pelas chaves fornecidas no formulário. GitHub-37973
  • Comportamento do cursor corrigido no registro do presente Message campo de texto.
  • Os valores do Cumulative Layout Shift (CLS) foram aprimorados para páginas de detalhes do produto. (Essa métrica quantifica a estabilidade visual dos layouts de página).GitHub-35410
  • Mensagens de erros aprimoradas que ocorrem durante a renderização do modelo. O Commerce agora exibe uma mensagem informativa. Anteriormente, o Commerce exibia o HTML vazamento quando ocorria um erro de PHP.
  • Atributos personalizados do cliente (tipo File attached) agora funcionam corretamente com imagens que foram excluídas e depois carregadas. Anteriormente, os atributos personalizados eram carregados, excluídos e carregados novamente não podiam ser salvos da loja.
  • Correção de um erro de sintaxe no arquivo de modelo de 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 Commerce exibia o logotipo de fallback padrão. 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 variável Show Password a caixa de seleção na página de logon está ativa.
  • A Adobe Commerce 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.
  • Remoção do nó de navegação estrutural pela configuração remove=true no layout XML 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 Adobe Commerce lançava 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 Adobe Commerce também exibia erros de console.
  • O Adobe Commerce 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 Adobe Commerce 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 os atributos de produto específicos do site definidos como um all stores view âmbito de aplicação.
  • 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 de cliente do Administrador quando esse cliente for criado para outro site cuja ID da loja não corresponde à ID do site. Anteriormente, o Adobe Commerce exibia esta mensagem pop-up: Something went wrong. GitHub-36582
  • Agora os detalhes do Administrador da empresa são salvos conforme esperado e os administradores são redirecionados corretamente, quando os emails de Atribuição de administrador da empresa contêm um CMS Block URL variável.
  • 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 Adobe Commerce exibiu 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 no Administrador Marketing > Cart Price Rules após a seleção de uma data 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 Adobe Commerce 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, esse formulário não era carregado quando continha campos de seleção múltipla e o seguinte erro era acionado: 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

  • A variável crossorigin o atributo foi adicionado a linkTypes para HEAD elementos.GitHub-32509
  • 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 substituições de URL não eram geradas para lojas fora do padrão quando a visibilidade do produto era definida como não visível no escopo de armazenamento padrão.
  • Category::getUrl() O não busca mais um redirecionamento 301. GitHub-38152
  • O Commerce não gera mais regravações de URL de produto para categorias raiz e produtos definidos como Not Visible Individually em configurações de várias lojas ao gerar substituiçõ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
  • O Commerce não lança mais um erro ao tentar criar um redirecionamento 301/302 para um URL de produto quando Gerar substituições de URL de categoria/produto está ativado. Quando um produto é criado e atribuído a uma categoria, são criadas substituições automáticas de URL: uma para o URL direto e outra para o produto por meio do caminho da categoria. Quando uma nova regravação de URL de produto é criada, as correlações entre produto, categoria e loja são verificadas. Esta verificação agora se baseia nas propriedades de entidade correlacionadas (categoria e produto). Anteriormente, essa verificação era executada em regravações de URL pré-existentes.
  • As substituições de URL de categoria agora são geradas para todas as exibições de loja quando uma nova categoria é importada de um arquivo CSV.
  • As configurações de sufixo de URL de produto e sufixo de URL de categoria agora correspondem aos sufixos na variável url_rewrite tabela. Anteriormente, ocorriam condições de corrida ao atualizar configurações de sufixo de URL, e os sufixos de URL configurados e o url_rewrite tabela não correspondente.
  • O Adobe Commerce agora renderiza a árvore de categorias em todos os níveis ao criar regravações de URL de categoria. Anteriormente, apenas os três primeiros níveis de categorias eram exibidos. GitHub-36973
  • As páginas CMS recém-criadas com um nó secundário agora são incluídas na grade de filtro de marketing (Marketing > URL rewrites). Anteriormente, as regravações de URL não eram criadas para essas páginas CMS.
  • 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 de várias lojas sem substituições de URL agora são encaminhadas conforme esperado. Anteriormente, as páginas do CMS de várias lojas solicitadas sem substituições de URL eram redirecionadas para a página inicial da loja, mas as páginas do CMS originais não eram direcionadas.

Visual Merchandiser

  • Agora você pode usar o Categories atributo para regras do Visual Merchandiser. Anteriormente, o Adobe Commerce lançava esta exceção: Something went wrong while saving the category.

Estrutura da API da Web

  • O Commerce não exibe mais um Integration not secure aviso no Administrador System > Extensions > Integrations quando a variável Callback URL e Identity link URL Os campos estão vazios. GitHub-36407
  • Adição de taxes, itemized_taxes, e additional_itemized_taxes atributos de extensão para Magento\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 variável Use Decimal Quantity foi ativada.
  • O RESTO V1/orders/{id}/comments O endpoint não altera mais o status de um pedido ao tentar adicionar um comentário ao status de um pedido pendente. Agora, ele fornece um erro informativo. Anteriormente, esse endpoint alterava o status do pedido ao adicionar um comentário.
  • A API REST GET e POST V1/products/attributes O ponto de extremidade não retorna mais o mesmo valor para a variável is_filterable atributo para ambos Filterable(with results) e Filterable(no results) opções do Use in Layered Navigation opção. Anteriormente, esse endpoint retornava o mesmo valor porque a variável is_filterable a propriedade do atributo era do tipo Boolean, que não permitiu definir essa propriedade como Filterable(no results). GitHub-37979
  • O ausente media_gallery_entries O campo foi adicionado ao REST V1/configurable-products/sku/children terminal. Anteriormente, essa função não tinha o código necessário para armazenar e exibir media_gallery_entries. GitHub-37607
  • O RESTO V1/carts/mine/estimate-shipping-methods O método do agora valida todos os níveis de dados de 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 fossem retornados em níveis não validados da carga, o Commerce 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 Commerce exibia esse erro: The product was unable to be saved. Please try again.
  • A variável POST /V1/products/tier-prices O endpoint 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 Adobe Commerce 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 variável POST V1/guest-carts a chamada não envia mais pedidos de convidados quando Allow Guest Checkout está desativado.
  • Agora você pode abrir um pedido do administrador com o status Received quando AsyncOrder não está ativado. Anteriormente, não era possível abrir a página de detalhes do pedido no Administrador quando o status do pedido era alterado por POST V1/orders.
  • O Adobe Commerce agora retorna com êxito o content atributo (código de imagem base64) em GET V1/products/sku/media respostas da API de mídia do produto. A variável content atributo não aparecia anteriormente na resposta.

Lista de desejos

  • O Commerce agora exibe uma mensagem indicando que um item já foi adicionado a uma lista de desejos quando um comprador tenta adicionar o mesmo item a uma lista de desejos várias vezes. Anteriormente, sob essas condições, o Commerce aumentou a quantidade do produto na lista de desejos.
  • O Adobe Commerce agora adiciona com sucesso produtos com arquivos de opções personalizáveis carregados necessários à lista de desejos. Anteriormente, o Commerce adicionava dois produtos à lista de desejos, não um. GitHub-37437

Requisitos do sistema

Nossa pilha de tecnologia é construída em PHP e MySQL. Para obter mais informações, consulte Requisitos do sistema.

Instruções de instalação e atualização

É possível instalar o Adobe Commerce 2.4.7 usando Compositor.

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