> ## Documentation Index
> Fetch the complete documentation index at: https://docs.malga.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Mar 25, 2022 - Major release

export const AuthorProfile = ({author}) => <div className="flex flex-row gap-3 items-center">
    {author.image && <img src={author.image} alt={author.name} className="w-10 h-10 rounded-full m-0" />}
    <div>
      <a href={author.url}>{author.name}</a>
      <br />
      <span>{author.title}</span>
    </div>
  </div>;

export const marcel = {
  name: " Marcel Nicolay",
  title: "CTO at Malga",
  url: "https://github.com/marcelnicolay",
  image: "https://github.com/marcelnicolay.png"
};

<AuthorProfile author={marcel} />

**Major release to improve overall application's performance.**

A partir de agora temos uma aplicação super otimizada para processar 30x o volume processado atualmente. Esta performance foi aferida através de teste de carga com 1000 usuários simultâneos, atingindo picos de 200 RPS e 5000 RPM. Entre os ajustes implementados para melhoria de performance podemos destacar:
Separação dos serviços de processamento assíncrono de notificações de status do serviço de processamento das requisições, permitindo escalar de maneira independente processamento síncrono de assíncrono.

* Atualização do middleware de processamento das requisições nos serviços do core transacional, 3x mais performático;
* Implementação de divisão de carga nas operações de escrita e leitura no banco nos serviços do core transacional, nos permite escalar leitura sem sobrecarregar escrita;
* Otimização nos healthchecks e criação de novos alarmes para monitorar saúde geral dos serviços;

Adicionamos também suporte a filtros no serviço de listagem de charges, através do qual os clientes podem buscar facilmente transações, combinando os seguintes filtros, todos opcionais:

```text theme={null}
limit: quantidade de registros por página 1-100
page: numero da pagina ativa
sort: ordenação DESC/ASC
merchantId: id do merchant processado na cobrança
id: id da cobrança
originalAmount: valor em centavos da cobrança
status: pending, pre_authorized, authorized, voided, canceled, charged_back
paymentType: credit, pix ou boleto
orderId: id da cobrança gerado pelo cliente
```

Ex de requisição com filtros:

`GET /v1/charges?limit=10&page=1&sort=DESC&merchantId=${merchantId}&id=${chargeId}&originalAmount=1000&status=pre_authorized&paymentType=credit&orderId=32432432`

**Versão 25-03-202**

Features
<Check> PE-597: Padronizando o contrato da listagem para ter os mesmos campos da rota /v1/charges/id e inclusão de novos filtros</Check>
<Check> PE-814: Inclusão dos dados do customer nas cobranças PIX pagarme, para permitir consulta dos dados no lado do provedor</Check>
<Check> PE-865: Adicionar o atributo cardHolder name no serviço de detalhe de card por id GET /v1/cards/cardId</Check>

<Info>
  Bugs

  1. PE-583: Tratando retorno de erro 500 ao cancelar uma transação falhada
  2. PE-751: Validação do client\_id responsável pelo merchant\_id na criação do charge
  3. Corrigir nome do país em lowercase para fraudanalysis no adapter da pagarme
  4. Salvar corretamente campo description nas cobranças pix e boleto
  5. Recuperar detalhes de pix e boleto no get de charges quando cobrança aprovada não retornava dados
</Info>
