# Changelog Todas as mudanças notáveis neste projeto serão documentadas neste arquivo. O formato é baseado em [Keep a Changelog](https://keepachangelog.com/pt-BR/1.0.0/), e este projeto adere ao [Versionamento Semântico](https://semver.org/lang/pt-BR/). --- ## [1.0.0] - 2026-04-23 ### Adicionado #### Frontend (PWA) - PWA (Progressive Web App) instalável com React 18 + Vite + TypeScript - Gravação contínua de áudio com MediaRecorder API (timeslice, sem gaps entre chunks) - Upload automático de chunks de áudio com retry automático em caso de falha - VU meter (visualizador de volume) na tela de gravação - Autenticação via Keycloak SSO com refresh automático de token - Tela de histórico de reuniões com busca e filtros - Tela de detalhes da reunião: transcrição, análise e speakers - Administração: gerenciamento de usuários, roles e delete de reuniões - Enrollment de voz para identificação automática de speakers - Branding MAIA: logo, cores e tipografia ASAP Telecom - PWA instalável em Android (Chrome) e iOS (Safari) - Suporte offline básico via Service Worker (Workbox) #### Backend API - API REST com FastAPI + SQLAlchemy + Alembic - PostgreSQL como banco de dados relacional - Celery + Redis para processamento assíncrono de transcrições e análises - Recepção e armazenamento de chunks de áudio - Concatenação automática de chunks ao finalizar reunião - Integração com Whisper GPU (large-v3) para transcrição - Integração com Diarization API para identificação de speakers - Integração com LLM (deepseek-v3.1) para análise e resumo - Autenticação JWT via Keycloak com verificação de roles - Endpoint de administração com controle de acesso por role - Título automático de reunião: "Nome Usuário DD/MM/YYYY, HH:MM" - Gestão de speakers: cadastro, enrollment e listagem - API de busca no histórico de reuniões #### Diarization API - API FastAPI dedicada para transcrição + diarização - Integração com Whisper.cpp via HTTP (GPU AMD, servidor dedicado) - Diarização de speakers com SpeechBrain ECAPA-TDNN (~85% precisão) - Fallback para pyannote.audio quando necessário - Banco de vozes para identificação automática de speakers conhecidos - Enrollment de novas vozes via API - Processamento de áudio com librosa (normalização, VAD) - Speaker confidence threshold configurável #### Infraestrutura - Containerização com Podman - Nginx para servir o frontend e reverse proxy - Serviços gerenciados via systemd - GPU Server dedicado (10.100.16.13) para Whisper large-v3 - LLM Server com Ollama (deepseek-v3.1:671b-cloud) - Keycloak para SSO centralizado --- ## [Unreleased] ### Planejado - Exportação de reuniões em PDF e DOCX - Integração com Google Calendar e Outlook - Resumos automáticos por e-mail - Suporte a múltiplos idiomas na transcrição - Dashboard de analytics de reuniões - API pública documentada com Swagger --- [1.0.0]: https://github.com/ASAPTelecom/Maia/releases/tag/v1.0.0