Repository navigation
Releases: ThiagoGomesRocha/Marrone
Release list
Marrone 1.2.0
O que há de novo
O Marrone agora fala português. Suporte completo a pt-BR na interface e nos relatórios, mantendo o inglês como idioma padrão.
Interface em português
- Idioma selecionável em Preferências > Geral (Português (Brasil) ou English), com troca imediata e persistente entre reinicializações.
- Toda a interface localizada: tela de boas-vindas, suporte, as abas de Preferências, modais, árvore de resultados do runner, mensagens de validação e toasts.
Relatórios HTML em português
- No CLI, gere o relatório em pt-BR com
--lang pt-BR:marrone run ./minha-colecao --reporter-html relatorio.html --lang pt-BR. - No app desktop, o relatório exportado segue o idioma selecionado em Preferências > Geral.
Interno
- As strings fixas do relatório HTML saíram do template para um dicionário
en/pt-BR(marrone-common), com inglês como fallback.
Marrone 1.1.1
Marrone 1.1.1
Versão de correção sobre a 1.1.0: os links do aplicativo e da documentação apontavam para
endereços que não existem, e a documentação passou a ter uma wiki.
Links e documentação
- Repositório e suporte. O rename
bruno→marronetrocouusebruno/brunopor
marrone/marronenuma substituição global — uma organização que não existe (404). O
estrago estava na tela de suporte, na busca global, na barra de status, no painel de
console, na tela de erro fatal, no aviso de importação com problemas, no handler de
Documentation do menu, no CLI (package.json, readme, changelog e imagens Docker) e nos
templates de issue/PR. As URLs agora saem de um módulo único em cada processo — foi a
dispersão que deixou os links quebrados sem ninguém notar. - Documentation → wiki do projeto. O antigo
docs.marrone.comnunca resolveu. O item
agora abre a wiki, que traz o link para a documentação do Bruno
— a referência de formato de coleção, scripting e runner continua sendo a dele. - Aba API Docs. O renderer da documentação vinha de um CDN que não resolve, então a aba
abria sem renderer nenhum. Voltou a funcionar. - Documentação das features beta (AI, Akamai EdgeGrid, Mock Server, gRPC Scripting) e o
"Learn more" do editor de apps apontavam para URLs curtas inexistentes; o post sobre a
migração para YML, para um blog inexistente; e o aviso de depreciação, para um e-mail em
domínio morto. Todos passaram a apontar para alvos conferidos com requisição HTTP.
Suporte sem "Community"
O grupo Community (GitHub, Discord, Twitter, LinkedIn) saiu da tela de suporte: eram os
canais do Bruno, o projeto de origem — o Discord e o Twitter apontavam para contas de outro
projeto, e o LinkedIn para uma empresa sem relação com o Marrone. Ficaram os dois caminhos
que existem: Documentation e Report Issues.
Wiki
- Testes automatizados — como
testar em cada camada (componente com Jest, integração com banco opt-in, E2E com Playwright)
e como escrever ostest()de uma coleção. - Scripts de banco de dados
—bru.dbnos cinco SGBDs, com o exemplo canônico e as armadilhas de cada um.
Build
npm run build:electron:win voltou a funcionar no Windows: o npm executa scripts pelo
cmd.exe, que não entende ./scripts/build-electron.sh. Os scripts de empacotamento agora
invocam bash.
Observado, ainda não tratado
Dois pontos não foram alterados porque exigem decisão de produto (estão registrados no
CHANGELOG.md):
MARRONE_OAUTH2_CALLBACK_URLaponta paraoauth.marrone.com/callback, que é o
redirect_uripadrão do fluxo OAuth2 Authorization Code quando o usuário não configura
um callback no request. Com o callback preenchido, nada muda.appinfo.marrone.com(endpoint das notificações) também não existe; a busca falha e o erro
é silencioso. Efeito visível: nenhum.
Instalador: marrone-setup-1.1.1.exe (Windows x64).
Para a lista completa de mudanças, veja o CHANGELOG.
Marrone 1.1.0
Marrone 1.1.0 — release oficial
Primeira release estável com acesso a banco de dados direto dos scripts, e relatórios
de execução completos em HTML e JSON.
Banco de dados nos scripts
bru.db.connect/query/execute/disconnect/dbTransaction- 5 SGBDs por driver direto (uma dependência cada): PostgreSQL (
pg), MySQL (mysql2),
SQL Server (tedious), Oracle (oracledb, thin) e IBM DB2 (ibm_db) — sem Sequelize - Credenciais: cofre no app (cifrado pelo sistema); no CLI por variável de ambiente
(MARRONE_DB_<SGBD>_USER/MARRONE_DB_<SGBD>_PASSWORD)
Relatórios
- JSON espelhando o HTML. O
--reporter-json(e o JSON exportado pela interface)
passou a trazer o mesmo conteúdo do HTML: CURL, os testes das três fases mesclados e as
operações de banco — antes gravava o objeto interno cru, sem CURL e sem banco. - Database Operation dentro de cada teste. A aba Tests agora mostra, em bloco
colapsável, o script, a conexão/SGBD, o tipo da operação (query,execute,connect,
disconnect,begin/commit/rollback), o SQL, os parâmetros, o tempo e o resultado
— com as linhas devolvidas em tabela de colunas dinâmicas. A aba consolidada
continua existindo como visão geral. - Tempo por teste: cada teste registra quanto levou (coluna Duration).
- Segurança: headers sensíveis (
Authorization,Cookie,X-Api-Key, ...) passaram a
ser mascarados no relatório. O CURL já redigia, mas as tabelas de headers mostravam o
token cru — o relatório é um arquivo que circula.
Windows Authentication no SQL Server
- Novo
authType(sqlpadrão |windows) edomainna conexão. - Interface: seletor Tipo de autenticação + campo Domínio, que aparece só no Windows
Authentication (o seletor só existe no SQL Server — é o único driver que implementa NTLM). - CLI:
MARRONE_DB_MSSQL_AUTH=windowseMARRONE_DB_MSSQL_DOMAIN=<DOMINIO>. - A preferência fica no cofre junto da credencial (a senha continua cifrada).
Correções que vieram junto
- O CLI não levava para o relatório as operações de banco feitas no bloco
tests— a
consulta rodava, devolvia as linhas para o script, e o relatório saía sem nenhuma
operação, sem erro. Só o caminho do CLI; o do app já funcionava. - O relatório chamava toda operação de SQL de "query" (inclusive um
UPDATE). - Salvar credenciais sem digitar a senha apagava a senha guardada, apesar do formulário
prometer que a mantinha.
Instalador
marrone-setup-1.1.0.exe — Windows x64, NSIS, permite escolher a pasta de instalação.
Não é assinado: o SmartScreen exibe um aviso na primeira execução. É esperado.
Limitação conhecida (importante)
A autenticação do Windows (NTLM) não foi validada contra um servidor real: o ambiente de
desenvolvimento não tem Active Directory (WORKGROUP, com conta local). O SQL Server recusa
NTLM com conta local com o erro 18452 — "The login is from an untrusted domain and
cannot be used with Windows authentication" —, confirmado no ERRORLOG do servidor. Isso é
limitação do Windows/SQL Server, não do driver: nenhuma senha correta resolveria.
O caminho do driver foi verificado até o servidor (a requisição NTLM chega e é avaliada por
ele, com desfecho diferente do caminho de autenticação SQL). Falta um ambiente com domínio
para a credencial ser aceita. Quem for usar Windows Authentication deve testar em domínio.
Detalhes em "Limitações conhecidas" no CHANGELOG.md.
Marrone 1.1.0-rc.2
Marrone 1.1.0-rc.2 — release candidate
Correções sobre a rc.1, todas na integração de banco. Continua sendo um
candidato: os 5 SGBDs estão implementados, mas só o SQL Server foi validado
contra um servidor real.
O que mudou desde a rc.1
- A aba "Database Operations" voltou a aparecer no relatório exportado pela
interface. O campodatabaseOperationsse perdia na fronteira IPC — o app
monta o resultado campo a campo, diferente do CLI. A aba simplesmente não
existia no relatório do app, sem erro nenhum. - O relatório agora mostra as LINHAS devolvidas pela consulta, limitadas a
20 por operação, com o total real e o aviso de corte ("mostrando 20 de 137").
O teto existe porque o relatório circula: sem ele, umSELECTsemWHERE
viraria um dump de tabela. Para gerar um relatório só com metadados:
--reporter-hide-db-rows. - Os exemplos da aba Settings > Database usavam uma API que não existe
(db.connect,dbQuery,dbExecute). Agora usambru.db.*. O painel do
próprio produto ensinava o erro — quem copiasse o exemplo quebrava o script. - O exemplo de validação no banco do sample de onboarding passou ao padrão
canônico:test()assíncrono,disconnectnofinally, placeholder por SGBD
e um guard que faz o exemplo apenas explicar (e não falhar) numa instalação
nova, sem banco configurado.
Instalador
marrone-setup-1.1.0-rc.2.exe — Windows x64, NSIS, permite escolher a pasta de
instalação. Não é assinado: o SmartScreen exibe um aviso na primeira
execução. É esperado, não indica defeito.
Validado nesta candidata
Rodando a coleção pelo app em modo de desenvolvimento, contra SQL Server real: a
consulta de validação retornou a linha do banco e o relatório exportado passou a
trazer a aba com as linhas.
Limitação conhecida
DECIMAL(38,10) no SQL Server volta com perda de precisão — limitação do
readNumeric do tedious, sem opção de configuração. Saída: CAST(col AS VARCHAR).
Marrone 1.1.0-rc.1
Marrone 1.1.0-rc.1 — release candidate
Integração de banco de dados nos scripts: bru.db disponível nos blocos de
pré-requisição, pós-requisição e tests.
O que entra
bru.db.connect/query/execute/disconnect+dbTransaction- 5 SGBDs por driver direto (uma dependência cada): MySQL (
mysql2),
PostgreSQL (pg), SQL Server (tedious), Oracle (oracledb, thin) e
DB2 (ibm_db) — sem Sequelize - Credenciais: cofre no app; no CLI por variável de ambiente
(MARRONE_DB_<SGBD>_USER/MARRONE_DB_<SGBD>_PASSWORD) - Relatório HTML com a aba Database Operations, com os parâmetros redigidos
- Exemplo de validação de dados no banco na coleção de onboarding, com as
asserções no blocotests
Instalador
marrone-setup-1.1.0-rc.1.exe — Windows x64, NSIS, permite escolher a pasta de
instalação. Não é assinado: o SmartScreen vai exibir um aviso na primeira
execução. É esperado, não indica defeito.
Ressalva honesta
Dos 5 SGBDs, apenas o SQL Server foi validado contra um servidor real
(lê/escreve, parâmetros, transação com ROLLBACK e COMMIT, tabela temporária de
sessão e relatório). MySQL, PostgreSQL, Oracle e DB2 têm cobertura de testes
unitários, mas nunca falaram com um banco de verdade. O roteiro para fechar essa
lacuna está em docs/database-manual-test.md.
Limitação conhecida
DECIMAL(38,10) no SQL Server volta com perda de precisão — limitação do
readNumeric do tedious, sem opção de configuração. Saída: CAST(col AS VARCHAR).
Marrone 1.0.0
Marrone 1.0.0 — primeira build final
Fork open source do Bruno, rebrandeado como Marrone.
Destaques
- Nova marca Marrone (icone do app, logo in-app e logo do relatorio)
- Botao Copy no Response Body do relatorio HTML
- Collection de exemplo com 14 testes (endpoint
/users) - Correcoes de compatibilidade do rebrand (
bruno-config) - README com a logo nova
Instalacao (Windows)
- Baixe
marrone-setup-1.0.0.exeabaixo - Execute o instalador
Requisitos: Windows 10/11 (x64)
Por compatibilidade, o formato interno permanece bruno (
.bru,bruno.json,brunoConfig). O Marrone importa/exporta Postman, Bruno, Insomnia, OpenAPI e WSDL.