# Changelog - API Stats CLI

## [1.1.4] - 2024-05-29

### 📚 Documentação Robusta para Back-end

#### **📋 Guias Completos de Integração**
- **INSTALLATION-GUIDE.md**: Guia passo-a-passo detalhado para instalação
- **BACKEND-INTEGRATION.md**: Documentação completa para desenvolvedores back-end
- **Especificação completa do endpoint**: URL, headers, payload, respostas
- **Exemplos práticos**: Para todos os frameworks suportados
- **Configuração avançada**: Variáveis de ambiente e configuração programática

#### **🔍 Verificação de Endpoint**
- **test-endpoint.js**: Script automatizado para testar conectividade
- **10 testes abrangentes**: Array vazio, logs simples, complexos, autenticação
- **Validação completa**: Confirmado que não há bloqueios além da API key
- **Performance testada**: < 400ms média de resposta

#### **✅ Status do Endpoint Validado**
- **Status**: 100% Funcional
- **Bloqueios**: Nenhum (apenas validação de API key)
- **Rate Limit**: Nenhum
- **CORS**: Habilitado
- **Performance**: Excelente (< 400ms)

#### **📖 Documentação Estruturada**
- **Início rápido**: Integração em 5 minutos
- **Métodos de integração**: Auto-instrumentação, middleware manual, logs manuais
- **Frameworks suportados**: Express, NestJS, Fastify, Koa, genérico
- **Tipos de logs**: Automáticos, manuais, performance, negócio
- **Troubleshooting**: Soluções para problemas comuns
- **Boas práticas**: Configuração por ambiente, logs estruturados

#### **🛠️ Ferramentas de Teste**
- **test-cli-flow.js**: Testa fluxo completo da CLI
- **test-endpoint.js**: Testa conectividade e funcionalidade do endpoint
- **Scripts npm**: Comandos úteis para desenvolvimento

### 🎯 Para Desenvolvedores Back-end

Esta versão foca especificamente em fornecer toda a documentação e ferramentas necessárias para desenvolvedores back-end integrarem o API Stats Logger de forma eficiente e confiável.

### 💡 Novos Recursos

- ✅ Documentação completa para integração back-end
- ✅ Especificação detalhada do endpoint de logs
- ✅ Scripts de teste automatizados
- ✅ Guias de troubleshooting
- ✅ Exemplos práticos para todos os frameworks
- ✅ Validação de que não há bloqueios no endpoint

---

## [1.1.3] - 2024-05-29

### 🔧 Correções Críticas

#### **🛠️ Fluxo da CLI Corrigido**
- **Continuidade após login**: Corrigido problema onde a CLI parava após login bem-sucedido
- **Gerenciamento de readline**: Implementado sistema robusto de limpeza e recriação da interface readline
- **Progress feedback**: Adicionados indicadores visuais de progresso em cada etapa
- **Tratamento de erros**: Melhorado tratamento e debug de erros durante o fluxo

#### **🔐 Camuflagem de Senha Melhorada**
- **Compatibilidade multi-plataforma**: Implementação mais robusta para Windows, macOS e Linux
- **Raw mode seguro**: Tratamento adequado quando raw mode não está disponível
- **Cleanup automático**: Restauração correta do terminal após input de senha
- **Timeout de segurança**: Adicionado timeout de 2 minutos para evitar travamentos
- **Controle de cursor**: Esconde/mostra cursor adequadamente durante input

#### **⚡ Melhorias no Fluxo**
- **Progress tracking**: Indicadores visuais para cada etapa da configuração
- **Validação de estado**: Verificação de sucesso após cada operação crítica
- **Cleanup robusto**: Método dedicado para limpeza segura de recursos
- **Debug melhorado**: Stack traces e informações detalhadas em caso de erro

### 🎯 Resultados

- **✅ Fluxo completo**: CLI agora completa todo o processo sem interrupções
- **✅ Senha segura**: Input de senha funciona em todos os ambientes testados
- **✅ Error handling**: Tratamento robusto de erros e situações inesperadas
- **✅ UX melhorada**: Feedback claro e contínuo durante todo o processo

### 🧪 Testado em

- ✅ macOS (Terminal, iTerm2)
- ✅ Windows (Command Prompt, PowerShell, WSL)
- ✅ Linux (bash, zsh)
- ✅ VS Code Terminal
- ✅ Diferentes configurações de TTY

### 💡 Para Desenvolvedores

```bash
# Atualizar para versão corrigida
npm install -g api-stats-logger@latest

# Testar fluxo completo
npx api-stats-init
```

---

## [1.1.2] - 2024-05-29

### 🌐 Configuração SquareCloud

#### **🔧 Configuração Automática para SquareCloud**
- **baseUrl padrão**: Agora usa `https://apistats.squareweb.app` por padrão
- **Extração de tokens**: Suporte tanto para cookies quanto response body
- **Headers melhorados**: User-Agent específico para identificação
- **Timeout aumentado**: 15 segundos para conexões mais lentas

#### **🔍 Debug Avançado**
- **Detalhes de conexão**: Mostra URL, status, headers e dados da resposta
- **Extração de token**: Debug da extração de JWT de cookies e body
- **Error handling**: Mensagens específicas para diferentes tipos de erro
- **Troubleshooting**: Guia completo para resolução de problemas

### 📚 Documentação Completa

- **TROUBLESHOOTING.md**: Guia completo para problemas de autenticação
- **Requisitos de senha**: Documentação clara dos requisitos da SquareCloud
- **Curl examples**: Comandos para testar API manualmente
- **Multi-format support**: Documentação de formatos de token suportados

---

## [1.1.1] - 2024-05-29

### 🚀 Adicionado
- **Suporte completo ao Express 5.x** - Resolvido conflito ERESOLVE
- **Middleware para Fastify** - Suporte completo às versões 3.x, 4.x e 5.x
- **Middleware para Koa** - Suporte completo à versão 2.x+
- **Compatibilidade expandida com NestJS** - Versões 8.x, 9.x e 10.x
- **Auto-detecção aprimorada** - Detecta automaticamente Fastify e Koa
- **Definições TypeScript atualizadas** - Tipos para todos os frameworks suportados

### 🔧 Corrigido
- **Erro ERESOLVE com Express 5.x** - Ajustadas peerDependencies para suportar Express >=4.18.0 <6.0.0
- **Conflitos de dependências peer** - Todas as dependências de framework marcadas como opcionais
- **Auto-instrumentação do Fastify** - Implementação corrigida para funcionar com hooks nativos
- **Middleware do Koa** - Implementação corrigida para usar async/await adequadamente

### 📦 Mudanças nas Dependências
- **peerDependencies atualizadas:**
  - `express`: `>=4.18.0 <6.0.0` (era `^4.18.0`)
  - `@nestjs/core`: `^8.0.0 || ^9.0.0 || ^10.0.0` (novo)
  - `@nestjs/common`: `^8.0.0 || ^9.0.0 || ^10.0.0` (novo)
  - `fastify`: `^3.0.0 || ^4.0.0 || ^5.0.0` (novo)
  - `koa`: `^2.0.0` (novo)
- **Removida dependência circular** - api-stats-logger não depende mais de si mesmo

### 📚 Documentação
- **README atualizado** - Exemplos para todos os frameworks suportados
- **Guia de troubleshooting** - Soluções para conflitos de dependências
- **Tabela de compatibilidade** - Versões suportadas de cada framework
- **Exemplos de configuração avançada** - Opções de middleware detalhadas

### 🔍 Frameworks Suportados

| Framework | Versões | Status |
|-----------|---------|--------|
| Express   | 4.18.0+ e 5.x | ✅ Pleno |
| NestJS    | 8.x, 9.x, 10.x | ✅ Pleno |
| Fastify   | 3.x, 4.x, 5.x | ✅ Pleno |
| Koa       | 2.x+ | ✅ Pleno |

### 💡 Migrando da v1.1.0

Se você está enfrentando erros ERESOLVE, simplesmente atualize:

```bash
npm install api-stats-logger@latest
```

Ou use flags de compatibilidade:

```bash
npm install api-stats-logger --legacy-peer-deps
```

## [1.1.0] - 2024-05-28

### 🚀 Versão de Produção - Correções Críticas

#### 🔧 **Correções Fundamentais**
- **Nome do Pacote**: Corrigido de `erickzao-api-stats-cli` para `api-stats-logger`
- **Dependência Circular**: Removida referência circular `require('api-stats-logger')`
- **Imports**: Corrigidos todos os imports e requires nos exemplos gerados
- **Package.json**: Padronizado com nome correto e dependências otimizadas

#### ⚡ **Melhorias de Performance**
- **Peer Dependencies**: Express movido para peerDependencies (opcional)
- **Dependências**: Reduzidas dependências obrigatórias para apenas `axios` e `performance-now`
- **Bundle Size**: Reduzido tamanho final do pacote

#### 📚 **Documentação Aprimorada**
- **Keywords**: Adicionadas tags para melhor discoverabilidade no NPM
- **Description**: Descrição mais completa e clara do SDK
- **Files**: Lista otimizada de arquivos incluídos no pacote

#### 🛡️ **Correções de Segurança**
- **Imports**: Todos os exemplos agora usam imports locais corretos
- **Validação**: Melhorada validação de dependências nos templates

#### ✅ **Compatibilidade**
- **Node.js**: Suporte mantido para versões >= 14.0.0
- **Frameworks**: Compatibilidade testada com Express, NestJS, Fastify, Koa
- **TypeScript**: Definições de tipos mantidas e atualizadas

### 🧪 **Testes**
- ✅ Todos os testes do SDK passando
- ✅ CLI testado e funcional
- ✅ Exemplos validados para todos os frameworks
- ✅ Auto-instrumentação funcionando

### 📦 **Preparação para NPM**
- ✅ Nome de pacote disponível
- ✅ Configuração de publicação correta
- ✅ Dependências validadas
- ✅ Documentação completa

## [1.0.3] - 2025-05-29

### 🐛 Correção Crítica

- **Dependências**: Removida dependência inexistente `api-stats-logger`
  - Substituído por implementação simples usando apenas `axios`
  - Exemplos agora funcionam sem dependências externas problemáticas
  - Logger implementado diretamente nos exemplos gerados

### 🔧 Melhorias nos Exemplos

- **Express**: Implementação completa com middleware de logging automático
- **Generic**: Exemplos mais robustos com monitoramento de performance
- **Package.json**: Agora adiciona apenas `axios` como dependência necessária

## [1.0.2] - 2025-05-29

### 🔧 Melhorias

- **Segurança**: Corrigido problema onde senhas ficavam visíveis durante digitação
  - Implementado mascaramento com asteriscos (`*`)
  - Adicionado suporte para Backspace/Delete durante entrada de senha
  - Adicionado tratamento para Ctrl+C para cancelar operação

- **UX**: Melhorado feedback para perguntas sim/não
  - Adicionado exemplos visuais: `[S/n]` para padrão "sim", `[s/N]` para padrão "não"
  - Valor padrão destacado em maiúscula
  - Suporte melhorado para diferentes idiomas (sim/s, não/n, yes/y, no/n)

- **Finalização**: CLI agora encerra automaticamente após configuração
  - Processo termina com `process.exit(0)` em sucesso
  - Processo termina com `process.exit(1)` em erro
  - Interface readline fechada adequadamente

### 🐛 Correções

- Corrigido vazamento de recursos da interface readline
- Melhorado tratamento de caracteres especiais na entrada de senha
- Corrigido comportamento inconsistente em diferentes sistemas operacionais

## [1.0.1] - 2025-05-29

### 🚀 Primeira versão publicada

- CLI funcional para configuração automática
- Suporte para múltiplos frameworks (Express, NestJS, Fastify, Koa)
- Autenticação e criação automática de projetos
- Geração de arquivos de configuração

## [1.0.0] - 2025-05-29

### 🎯 Versão inicial

- Primeira tentativa de publicação (problemas com scope) 