Este changelog registra as versões dos SDKs da Malvo: o SDK de servidor @malvo/server (cliente da API REST) e os SDKs de cliente do Malvo Connect, que embarcam o widget hospedado e fazem a ponte dos eventos malvo:success / malvo:error / malvo:close para callbacks da sua aplicação. Para mudanças na API REST em si, veja Changelog da API. O código-fonte fica em github.com/malvo-io.

@malvo/server

Open Banking internacional e retry seguro
  • Tipos de conta ampliados para LOAN_ACCOUNT, CASH_ACCOUNT e OTHER_ACCOUNT, com disponibilidade/timestamp e conjunto multimoeda de saldos.
  • Criação de Item encaminha clientUserId e products, necessários para deduplicação e minimização do escopo AIS.
  • Exemplos e assinaturas públicas usam argumentos posicionais reais (fetchAccounts(itemId), fetchTransactions(accountId, options) e fetchAllTransactions(accountId, options)).
  • Reautenticação automática somente em 401 ou 403 API_KEY_MISSING_OR_INVALID; outros 403 nunca são repetidos.
  • O pacote recompila o dist durante npm pack/publish.
Paridade 100% com o backend
  • Tipos validados de ponta a ponta contra a API real (paridade 100%).
  • MalvoLoan reescrito para o shape real (kind, ipocCode, CET, interestRates, installments, payments, …); CreditCardBill corrigido (minimumPaymentAmount, payments[]); MalvoIdentity expandido (companyName, relations, investorProfile, subcampos de endereço/telefone).
  • Enums ConnectorType / Product / ItemStatus / ExecutionStatus alinhados ao backend; adicionado Item.userAction.
  • createCategorizationRule agora retorna { created: boolean }.
Release inicial
  • Release inicial.
  • MalvoClient: SDK de servidor que gerencia o ciclo de vida da apiKey (auth, cache, renovação proativa, retry de 401, backoff de 429) e expõe um método por endpoint de dados (connectors, items, accounts, transactions, categories, identity, investments, loans, bills, consents, webhooks, merchants), além de createConnectToken.
  • Auto-paginação por cursor de GET /v2/transactions via fetchAllTransactions.
  • MalvoApiError com code / statusCode / codeDescription.
  • Eventos de webhook tipados (WebhookEvent + parseWebhookEvent). Sem verificação de assinatura — webhooks protegidos por headers customizados / allowlist de IP.

@malvo/react-connect

Catálogo internacional e bridge autenticada
  • Filtros por país/tipo/id e idiomas pt/en para Open Finance e Open Banking.
  • Bridge vinculada nos dois sentidos: entrega ao targetOrigin exato do integrador e aceita mensagens somente da origem configurada e do contentWindow do iframe.
  • Em SSR, o iframe navega só depois da hidratação/listener; mudanças de token ou filtros criam um frame novo e isolam mensagens tardias do fluxo anterior.
  • onOpen/evento OPEN emitidos uma única vez e build automático no empacotamento.
Release inicial
  • Release inicial.
  • Componente React MalvoConnect: renderiza o widget hospedado do Malvo Connect em um modal com iframe e faz a ponte dos eventos malvo:success / malvo:error / malvo:close para onSuccess / onError / onClose / onEvent.
  • O OAuth de Open Finance autoriza em um popup top-level (iframes não podem enquadrar bancos) e retoma automaticamente.

@malvo/react-native-connect

OAuth externo com URI completo
  • oauthRedirectUri valida scheme, host, porta, caminho, userinfo e query estática, com retomada cold/warm; oauthRedirectScheme permanece apenas como legado depreciado.
  • O retorno exige malvoFlowId idêntico ao connectTokenId, consome o initial link uma vez por processo e não encaminha bearer, code bancário ou o próprio identificador ao finish.
  • Navegação regulada pode usar o navegador do sistema e a bridge só aceita mensagens da origem Malvo carregada.
  • Catálogo internacional, filtros, idiomas e build automático no empacotamento.
Release inicial
  • Release inicial.
  • Componente React Native MalvoConnect: embrulha o widget hospedado do Malvo Connect em react-native-webview e faz a ponte dos eventos malvo:success / malvo:error / malvo:close para onSuccess / onError / onClose / onEvent.
  • O OAuth de Open Finance roda dentro da WebView por padrão, com retorno opcional via browser externo + deep link através de oauthRedirectScheme.

flutter_malvo_connect

OAuth externo resiliente e Open Banking
  • oauthRedirectUri completo, retomada cold/warm via app_links e compatibilidade legada com oauthRedirectScheme.
  • Correlação exata entre malvoFlowId e Connect Token, consumo único do initial link e descarte de retornos antigos ao trocar token ou callback.
  • Validação da origem atual da WebView, deduplicação/serialização do retorno OAuth e erros explícitos de abertura/retomada.
  • Catálogo internacional, filtros e idiomas alinhados ao widget hospedado.
Release inicial
  • Release inicial.
  • Widget MalvoConnect: carrega o widget hospedado do Malvo Connect em uma WebView e faz a ponte dos eventos malvo:success / malvo:error / malvo:close para os callbacks onSuccess / onError / onClose / onEvent.
  • O OAuth de Open Finance roda dentro da WebView por padrão, com retorno opcional via browser externo + deep link através de oauthRedirectScheme (app_links).