Lançamento da Nova Versão do #relay #NRServer
https://github.com/gabrielmoura/nostr-relay-server
## ✨ Novas funcionalidades
### Suporte a grupos NIP-29
Módulo opcional de grupos #NIP-29 com criação, join request, gerenciamento de estado e manipulação de eventos. Inclui correção de validação restrita ao escopo do protocolo.
- `68f0aaf` feat(groups): add optional NIP-29 groups support with state management and event handling
- `c823be1` feat(nip29): implement optional NIP-29 groups module with configuration and database support
- `af26f82` feat(group): enhance group creation and join request handling with metadata support
### Web of Trust (WoT) e camada de segurança incremental
Subsistema de Web of Trust com configuração e lógica de validação. Endurecimento de segurança incremental com limites configuráveis e suporte a whitelisting.
- `164ab5d` feat(wot): implement Web of Trust subsystem with configuration and validation logic
- `98cf3cc` feat(security): implement incremental security hardening layer with configurable limits and whitelisting
### Implementação do protocolo Blossom
Handlers, métricas e queries de banco de dados para o conjunto completo de funcionalidades #Blossom.
- `b09f64e` feat(blossom): implement Blossom feature set with new handlers, metrics, and database queries
### Sincronização Negentropy e download em massa
Sincronização via protocolo Negentropy e download bulk de eventos com integração de UI.
- `dd21dcb` feat(sync): add #Negentropy synchronization and bulk event download features with UI integration
### Jobs board operacional
Fila de jobs com Redis-backend, suporte a enqueue/start/cancel, retomada e exclusão do histórico, e painel de UI para processos de download e sync.
- `97db836` feat(jobs): implement generic operational jobs board with UI integration
- `9e8a129` feat(queue): implement Redis-backed job queue with enqueue, start, and cancel functionalities
- `111251f` feat(jobs): add resume and delete jobs history functionalities with UI updates
### Gerenciamento de labels NIP-32
API admin e componentes de UI para criação e gerenciamento de labels conforme #NIP-32. Inclui documentação do histórico de mudanças no frontend.
- `41e1484` feat(labels): implement NIP-32 labels management with admin API integration and UI components
- `c311336` feat(labels): document frontend change history and requirements for NIP-32 management
### Gerenciamento NIP-05 e NIP-86
CRUD completo para identidades #NIP-05 com suporte a localização. #NIP-86 com gerenciamento de pubkeys permitidas, IPs bloqueados e eventos banidos.
- `5b87723` feat(nip05): implement NIP-05 management with CRUD operations and localization support
- `12c37b2` feat(nip86): implement NIP-86 management features including allowed pubkeys, blocked IPs, and banned events
### Painel admin — eventos reportados e busca avançada
Endpoint de sumário de eventos reportados, modal de #analytics, busca com novos filtros, tratamento de mídia e caching de payloads do dashboard via cron.
- `abc3de2` feat(admin): add reported events summary endpoint and improve event search with caching
- `1b58ef4` feat(reported-events): add analytics modal and improve event search with new filters and media handling
- `71b5970` feat(cache): transition to cron-based warmup for admin dashboard payloads when #Redis is enabled
---
## 🏗️ Infraestrutura e banco de dados
### PostgreSQL e Redis com Docker
Arquivos de configuração para #PostgreSQL e Redis com suporte a #Docker Compose e Docker Swarm. Schema otimizado com novas funções, tabelas e índices. Pool de conexões com health check.
- `d225406` feat(config): add configuration files for PostgreSQL and Redis integration
- `e5b6354` feat(schema): optimize PostgreSQL schema with new functions, tables, and indexes
- `9a7b5fc` feat(db): implement database connection pool with initialization and health check
### Docker multi-stage e stack Tor
Dockerfile com build multi-stage, suporte a stack #Tor via Compose e documentação de runtime atualizada.
- `e3b7d8b` feat(docker): update Dockerfile for improved build process and add Docker runtime documentation
- `b162952` feat(docker): add multi-stage build and Tor compose stack with updated docs
---
## ♻️ Refatorações
### Lua atômica para spam check e refatoração de DB/cache
Script Lua atômico para prevenção de race conditions no spam check. Refatoração de arquivos de DB e cache para melhor manutenibilidade.
- `8f652ed` refactor(cache): implement atomic Lua script for spam check to prevent race conditions
- `ad17f5e` feat(db): refactor oversized DB and cache files for improved maintainability and clarity
### Atualização de dependências e simplificação do stack
Upgrade de módulos críticos, simplificação do stack websocket/negentropy e remoção de código não utilizado.
- `cd632b5` refactor(deps): update dependencies and remove unused AcceptFile function
- `9dd97bd` refactor(deps): simplify websocket/negentropy stack and upgrade critical modules
### Relay information e documentação técnica
Campos adicionais e configurações padrão no `RelayInformationDocument`. Documentação técnica principal atualizada com arquitetura detalhada e diretrizes operacionais.
- `1cc2fd3` feat(relay): enhance RelayInformationDocument with additional fields and default configurations
- `e44604f` feat(docs): update main technical documentation for NRServer
---
## 🐛 Correções
### Validação de autenticação para eventos de relay
Melhoria na validação e tratamento de erros de autenticação para eventos de relay.
- `68fcf41` fix(auth): improve authentication validation and error handling for relay events
### Normalização de chaves de relay e escopo NIP-29
Normalização de chaves durante o carregamento da configuração. Validação de grupos NIP-29 restrita ao escopo explícito do protocolo.
- `c36d580` fix(config): normalize relay keys during load
- `4c03d05` fix(nip29): restrict group validation to explicit protocol scope