Novidades & Melhorias
Acompanhe a evolução do projeto. Cada versão traz novos guias, implementações, ferramentas e melhorias técnicas.
v0.17.0
versão atual
17
versões
130
mudanças
Refatoração lib/content — estrutura modular
dynamic-page-helper.tsx substituído por lib/content/ com separação clara: component-map, content-page-layout e dynamic-page.
- Refatoraçãolib/content/ — component-map.ts (registro lazy), content-page-layout.tsx (layout padrão), dynamic-page.tsx (generateMetadata, render). Rotas importam de @/lib/content
- RefatoraçãoContentPageLayout extraído — ReadingProgress, RelatedContent, ShareButtons, ContentFooter em componente reutilizável
- MelhoriaDocs e tutorial atualizados — ADDING_PAGES, CONTRIBUTING, PROMPT-PROJETO, FAQ (pt-BR, en, es, de) com lib/content/component-map.ts
3 itens
Newsletter completo: Redis + broadcast via curl
Inscritos salvos no Redis. Disparo manual com um clique via curl — conteúdo gerado do changelog. docs/NEWSLETTER.md com instruções.
- NovoNewsletter no footer — formulário 'Avise-me de novidades' salva emails em Redis (newsletter:subscribers) + notifica o dono. Rate limit 3/hora por IP, honeypot anti-spam
- NovoAPI /api/newsletter/broadcast — disparo manual via curl com Authorization Bearer. Envia para todos os inscritos o último changelog. Template HTML com título, resumo, itens e link para /novidades
- Melhoriadocs/NEWSLETTER.md — documentação do fluxo, variáveis de ambiente (NEWSLETTER_BROADCAST_TOKEN, RESEND_FROM_EMAIL), exemplo de curl e configuração Resend
3 itens
FAB Unificado, Focus Mode Mobile, Segurança IA e Polimento Geral
FloatingActionMenu unifica scroll-to-top, modo foco e chat num único FAB expandível no desktop. Focus Mode integrado na MobileActionBar (só em conteúdos). Prompts de IA reescritos com delimitação XML, response_format json_object e 10 camadas de sanitização. Correção crítica nas reações e série de hardcoded strings traduzidas.
- NovoFloatingActionMenu — FAB unificado no desktop (bottom-right): botão principal expande 3 ações animadas (scroll ao topo, modo foco, chat). Substitui os 3 botões flutuantes independentes. Usa framer-motion + AnimatePresence, fecha ao clicar fora
- NovoFocus Mode no mobile — FocusModeToggle removido como botão flutuante e integrado na MobileActionBar como 6ª ação (grid-cols-6), exibido apenas em páginas de conteúdo (/dicas/*, /ferramentas/*, /implementacoes/*). Ícone destaca-se em cor primary quando ativo
- NovoExemplos clicáveis no PR Generator — 3 cards de exemplo (feat, fix, refactor) preenchem automaticamente todos os campos do formulário. Tipo exibido em cor específica (emerald/rose/violet). Card ativo destacado. Traduzidos em pt-BR, en, es, de
- MelhoriasanitizeUserInput hardened — 10 camadas de defesa: normalização Unicode NFKC, strip de chars de controle, instruction override, role switching, DAN/jailbreak, role markers markdown, leak de prompt, new task injection, context switching e XML tag injection
- MelhoriaPrompts de IA reescritos (PR Generator e GitHub Analyzer) — identidade clara (PRBot/ProfileBot), delimitação XML (<pr_context>/<github_profile>) para separar dados de instruções, response_format: json_object garantindo JSON válido, temperature reduzida (0.3/0.4), guidelines de qualidade detalhados
- MelhoriaGitHub Analyzer — bio, location, company e descrições de repos sanitizados via sanitizeUserInput() antes de entrar no prompt (dados de terceiros podem conter injections)
- CorreçãoReações sempre zeradas — bug crítico: Upstash Redis hmget retorna Record<field, value> (objeto), não array. getCounts usava raw[0]/raw[1]/raw[2] que eram sempre undefined. Corrigido para raw['heart']/raw['fire']/raw['bulb']
- CorreçãoChat widget não abria pelo FloatingActionMenu — evento 'open-chat-widget' era despachado em document mas o ChatWidget escutava em window. Corrigido para window.dispatchEvent()
- CorreçãoReactionsSection buscava apenas os 10 primeiros CONTENT_ITEMS (slice(0,10)) — com 27 itens, páginas 11-27 nunca apareciam no dashboard /stats. Corrigido para usar todos os itens
- MelhoriaChat API — currentPage validado com regex de path URL (/^/[a-zA-Z0-9\-_/]*$/) antes de entrar no system prompt. Valores inválidos descartados silenciosamente via .catch(undefined)
- MelhoriaHardcoded strings traduzidas: aria-label 'Progresso de leitura' em reading-progress.tsx, stat labels 'versão atual/versões/mudanças' no changelog (pt-BR fixo), data com toLocaleDateString('pt-BR') agora usa locale ativo, label 'Email' no footer.tsx
- Correçãonamespace 'tutorialPage' adicionado ao array NAMESPACES em load-messages.ts — estava sendo usado em /contribua/tutorial mas não registrado, potencialmente causando falha em testes de namespace
- MelhoriaNovas chaves de tradução adicionadas (pt-BR, en, es, de): global.readingProgress, changelogPage.hero.statCurrentVersion/statVersions/statChanges, footer.emailLabel, global.mobileFocus
13 itens
10 Novas Implementações — UX Global, Stats, Guias e Ferramentas IA
Maior release da plataforma: 4 melhorias de UX globais (ReadingProgress, ShareButton, FocusMode, RelatedContent), dashboard de métricas ao vivo (/stats), 3 novos guias técnicos (API Security, Design Patterns, Acessibilidade) e 2 novas ferramentas IA (PR Generator e GitHub Profile Analyzer) com APIs seguras no padrão da plataforma.
- NovoReadingProgress — barra de progresso de leitura fixada no topo (fixed top-0), calculada com scroll position / (documentHeight - viewportHeight). Exibida em todas as páginas de conteúdo via dynamic-page-helper
- NovoReadingTime — badge com tempo estimado de leitura em minutos. Campo readingMinutes? adicionado ao ContentItem type; todos os 21 itens existentes receberam valores calibrados
- NovoShareButton — botão de compartilhamento com Web Share API nativa (mobile/Chrome) e fallback automático para clipboard. Toast de 'Link copiado!' por 2s. Integrado ao rodapé de todas as páginas de conteúdo
- NovoFocusModeToggle — botão flutuante no canto inferior direito que oculta navbar, footer e elementos [data-hide-focus] via classe CSS focus-mode no <html>. Estado persiste em localStorage
- NovoRelatedContent — seção no final de cada conteúdo com até 3 itens da mesma categoria. Usa CONTENT_ITEMS filtrado por categoria, excluindo o item atual. Animado com AnimatedSection
- NovoDashboard /stats — página standalone de métricas ao vivo: visão geral (page views + visitantes únicos), top páginas com barra de progresso relativa, termos mais buscados via /api/search e reações por conteúdo via /api/reactions
- NovoGuia /dicas/api-security — pipeline de segurança completo com 7 camadas: body size check, rate limiting in-memory e Redis, API key check, Zod schema, sanitização de input e output e secure headers. Com código real do projeto e checklist interativo
- NovoGuia /dicas/design-patterns — 5 padrões GoF em TypeScript (Observer, Strategy, Factory, Decorator, Command) com toggle antes/depois de código, exemplos reais e guia de quando usar/não usar cada padrão
- NovoGuia /dicas/a11y-guide — acessibilidade prática: ARIA roles e live regions, gerenciamento de foco (skip links, focus trap), HTML semântico e landmarks, contraste WCAG AA com ferramentas e checklist interativo de 10 itens para PRs
- NovoFerramenta /ferramentas/pr-generator — gerador de PR descriptions com IA (gpt-4.1-nano). Suporta 8 tipos de PR (feat, fix, refactor...), gera sumário, lista de mudanças, passos de teste e notas de breaking changes. Copy para markdown. Rate limit 5 req/min via Redis
- NovoFerramenta /ferramentas/github-analyzer — análise de perfil GitHub com IA. Busca dados públicos da API do GitHub (perfil + top 10 repos) e gera análise com linguagens dominantes, destaques e sugestões de melhoria. Rate limit 3 req/min via Redis
- NovoAPI /api/pr-generator — POST com validação Zod, sanitização completa, rate limiting Redis (5/min), suporte a 4 locales e validação do output da IA antes de retornar ao cliente
- NovoAPI /api/github-analyzer — POST com username validado por regex, busca paralela de perfil e repos na API pública do GitHub, análise via OpenAI com cache de 5min via Next.js fetch revalidate
- Melhoriacontent.ts — campo readingMinutes? adicionado ao tipo ContentItem e 5 novos itens registrados (api-security, design-patterns, a11y-guide, pr-generator, github-analyzer)
- Melhoriadynamic-page-helper.tsx — integra ReadingProgress, ReadingTime, ShareButton, FocusModeToggle e RelatedContent em todas as páginas de conteúdo. Registro de 5 novos componentes no COMPONENT_MAP
- Melhorianav-data.ts — 5 novos itens no menu de navegação (api-security, design-patterns, a11y-guide, pr-generator, github-analyzer) e item /stats no grupo contribua
- Melhoriasearch-data.ts + search.json — tags e traduções para os 6 novos itens (5 conteúdos + stats). Traduzido em 4 idiomas
- Melhoriaglobal.json — 7 novas chaves: readingTime, share, linkCopied, shareAriaLabel, focusMode, exitFocusMode, relatedContent. Traduzido em pt-BR, en, es, de
- Melhoriaglobals.css — regras CSS do focus mode: .focus-mode header, footer e [data-hide-focus] com display: none
- Melhoriatypes.d.ts + index.ts — 7 novos namespaces registrados: statsPage, apiSecurityPage, designPatternsPage, a11yGuidePage, prGeneratorPage, githubAnalyzerPage. Traduzidos em pt-BR, en, es, de
- Melhoriasitemap.ts — entrada estática adicionada para /stats com changeFrequency: daily
21 itens
Badges Trending & Popular na Navbar e Listagens
Badges dinâmicos 'Em alta' e 'Popular' no menu de navegação desktop e mobile e nas páginas de listagem de conteúdo, calculados com dados reais do Redis. Algoritmo que distingue tendência semanal de popularidade histórica, com fallback inteligente quando não há dados semanais disponíveis.
- NovoBadges 'Em alta' (🔺 violeta) e 'Popular' (🔥 laranja) na navbar desktop e mobile — exibidos ao lado dos itens de submenu com base em dados reais de acesso, carregados no servidor via RSC
- NovogetBadgePaths — função server-side que agrega os badges de todas as categorias de conteúdo (/implementacoes, /dicas, /ferramentas) e retorna um Record plain object serializável para os componentes client
- NovofetchWeeklyByCategory — busca os paths mais acessados na semana atual dentro de uma categoria, filtrando o sorted set semanal global por prefixo de path
- NovoFallback inteligente de badges — quando não há dados semanais reais ainda, divide os populares da categoria: top metade recebe badge 'trending', o restante recebe 'popular', garantindo badges visíveis desde o primeiro acesso
- MelhoriaBadges nas páginas de listagem (content-listing-page) — 'Em alta' e 'Popular' também exibidos nos cards de conteúdo das listing pages, usando a mesma lógica do navbar para consistência visual
- MelhoriaBadges nas sugestões da busca global (search-empty) — label 'Popular' exibido junto aos chips de busca popular para reforçar a indicação de conteúdo relevante
- MelhoriaTraduções dos badges em 4 idiomas — badgeTrending e badgePopular adicionados nos arquivos nav.json de pt-BR, en, es e de
- RefatoraçãoNavbar refatorada para RSC com prop drilling de badgePaths — Navbar (RSC) busca os dados e injeta via props em NavbarClient → DesktopNav / MobileNav → SubmenuItem / MobileMenuItem, sem fetch client-side
8 itens
Busca Popular, Cache de Queries e Documentação de API
Buscas populares em tempo real com rastreamento via Redis, cache client-side de queries no Fuse.js, invalidação automática por troca de idioma, refactor do cálculo de semana ISO em módulo compartilhado e documentação completa dos endpoints /api/reactions e /api/online na página contribua/api.
- NovoAPI /api/search — POST rastreia termos buscados em um Redis Sorted Set (stats:searches) com rate limit distribuído; GET retorna os top 8 termos mais pesquisados com cache de 60s
- NovoSugestões de busca popular — a busca global exibe chips clicáveis com os termos mais buscados (carregados do Redis); fallback automático para lista curada se Redis indisponível ou vazio
- NovoselectTerm — clique em chip de sugestão popula a query instantaneamente sem debounce nem loading, aproveitando o cache client-side do Fuse
- MelhoriaCache client-side de queries — resultados do Fuse.js são armazenados em um Map por query normalizada; hits no cache são servidos imediatamente sem nova busca ou estado de loading
- CorreçãoInvalidação de cache de busca por troca de idioma — o Map de queries é limpo sempre que o índice Fuse muda (useEffect no fuse), evitando resultados em idioma anterior após mudança de locale
- RefatoraçãogetIsoWeekKey extraída para src/lib/week-key.ts — função de cálculo de semana ISO 8601 centralizada e compartilhada entre /api/stats/track e get-popular-slugs, eliminando duplicação
- MelhoriaDocumentação /contribua/api atualizada — endpoints /api/reactions e /api/online adicionados com método, path, rate limit, parâmetros e resposta em todos os 4 idiomas (pt-BR, en, es, de)
- Melhoriadocs/api/SECURITY.md atualizado — tabela de rate limiting expandida com os novos endpoints e fluxos detalhados de GET/POST para /api/reactions e /api/online
8 itens
Reações, Comentários e Responsividade Mobile
Sistema de reações por página (❤️🔥💡) com Redis, integração Giscus para comentários via GitHub Discussions, contador de usuários online em tempo real e correções completas de responsividade mobile no Code Evolution e no Mapa de Arquitetura.
- NovoSistema de reações por página — ❤️ Curtir, 🔥 Incrível, 💡 Útil com toggle (adicionar, remover e trocar voto), armazenadas no Redis com deduplicação por IP + TTL de 24h
- NovoIntegração Giscus — comentários via GitHub Discussions com tema CSS customizado que acompanha o tema escuro do site, carregamento lazy após primeira reação
- NovoContentFooter — componente unificado que combina reações + comentários ao final de cada conteúdo; comentários aparecem automaticamente após o primeiro voto (via sessionStorage)
- NovoOnline Counter — indicador de usuários online em tempo real no footer, atualizado a cada 30s via polling ao /api/online, usando Redis Sorted Set com TTL por sessão
- NovoAPI /api/reactions — endpoint com validação Zod, rate limiting distribuído via Redis, suporte a GET (leitura de contagens + voto do usuário) e POST (votar/desvota/trocar)
- NovoAPI /api/online — rastreamento de presença com Redis, registrado automaticamente pelo ViewTracker via sendBeacon em toda mudança de rota
- NovoRate limiter distribuído via Upstash Redis — substitui o in-memory por fixed window atômica (INCR + EXPIRE) entre instâncias serverless; fallback silencioso para in-memory se Redis indisponível
- CorreçãoCode Evolution mobile — scroll horizontal funcional no código com whitespace-pre + w-max min-w-full; step dots substituídos por contador compacto 'N / total' no mobile para evitar overflow
- CorreçãoCode Evolution mobile — min-w-0 nos itens do grid para forçar criação de scroll em vez de expansão do container; padding e fonte reduzidos nas barras de git e commit
- CorreçãoSeletores de evolução e projeto — scroll horizontal no mobile (overflow-x-auto) com shrink-0 nos botões, mantendo wrap centralizado no desktop
- RefatoraçãoViewTracker — agora dispara beacon duplo (stats/track + online) em cada mudança de rota para registrar visualização e presença simultaneamente
11 itens
Mapa de Arquitetura Interativo
Novo guia visual e interativo com 5 arquiteturas reais de referência (E-commerce SaaS, Dashboard Real-time, Social Feed, Video Streaming e Ride Sharing), layout dual responsivo e painel de detalhes animado com traduções estáveis via snapshot.
- NovoGuia: Mapa de Arquitetura — canvas interativo com nodes clicáveis, linhas de conexão animadas com SVG e painel de detalhes por node com tech stack e descrição técnica
- Novo5 arquiteturas de referência: E-commerce SaaS (Next.js + tRPC), Real-time Dashboard (WebSocket + Kafka), Social Feed (GraphQL + Cassandra), Video Streaming (HLS + FFmpeg) e Ride Sharing (Geohash + PostGIS)
- Novo3 novos projetos complexos — Social Feed (fan-out on write, Redis Sorted Sets, RabbitMQ), Video Streaming (tus upload, GPU transcoding, TF Recommenders) e Ride Sharing (matching Dijkstra, surge pricing ML, Redis Geo)
- NovoLayout dual responsivo — canvas absoluto com connection lines no desktop; grid 2 colunas sem SVG no mobile para garantir usabilidade em telas pequenas
- RefatoraçãoEstrutura modular projects/ — cada arquitetura em arquivo independente (ecommerce-saas.ts, realtime-dashboard.ts, social-feed.ts, video-streaming.ts, ride-sharing.ts) importados e re-exportados via index.ts; arch-data.ts virou re-export de uma linha
- CorreçãoDetailPanel + AnimatePresence — padrão DetailSnapshot captura label, description e details traduzidos no momento do clique, eliminando MISSING_MESSAGE durante transições de projeto
- CorreçãoReact 19 key prop compliance — removido padrão sharedNodeProps que incluía key no spread; props passados explicitamente com key={node.id} diretamente no JSX em ambos os layouts
7 itens
Novidades, Evolução de Código e Navbar Server Component
Página de novidades com timeline animada, novo guia interativo de evolução de código com 4 exemplos e refatoração do Navbar para Server Component com slugs populares via Redis.
- NovoPágina Novidades — timeline animada do histórico de versões com badges por tipo (feature, fix, refactor, improvement)
- NovoGuia: Evolução de Código — player interativo tipo git log animado com steps, métricas de qualidade e autoplay
- Novo4 exemplos de evolução: React Lifecycle (class → SWR), State Management (prop drilling → Zustand), Form Validation (input não controlado → RHF + Zod) e Async Error Handling (fetch → Suspense + ErrorBoundary)
- RefatoraçãoNavbar refatorado para Server Component: `Navbar` vira async server, `NavbarClient` isola interatividade — slugs populares buscados server-side
- Novo`getPopularSlugs` — busca os conteúdos mais acessados no Redis com `unstable_cache` e filtra páginas de seção (depth < 2)
- RefatoraçãoEvoluções isoladas em arquivos individuais (`evolutions/*.ts`) — estrutura escalável e de fácil manutenção
- Correção`AbortError` filtrado no catch do custom hook `useUser` — eliminava falsos estados de erro no unmount
- CorreçãoRate limit corrigido para IPs desconhecidos — `getIp` retorna fallback seguro em vez de lançar exceção
- MelhoriaNovidades e Evolução de Código registradas na busca global, navegação e sitemap
9 itens
Refatoração Estrutural
Consolidação de código duplicado, unificação de utilitários e refatoração de componentes para maior reutilização e manutenibilidade.
- RefatoraçãoMapeamento categoria → rota centralizado em `content-paths.ts` (removido de 4 arquivos)
- RefatoraçãoUtilitários `fillCodeComments` e `fillCodePlaceholders` unificados em `fill-code-placeholders.ts`
- RefatoraçãoCodeBlock consolidado: componente local de ts-patterns absorvido pelo global (suporte a `highlight` e animação linha a linha)
- RefatoraçãoArquivos de exemplos de código padronizados para `code-examples.ts` em todos os features
- RefatoraçãoReact Query Tips refatorado de arquivo único (217 linhas) para pasta com 5 seções independentes
5 itens
5 Novos Lançamentos
Semana de lançamentos: guias, implementações e ferramentas novas, além de i18n nos comentários de código.
- NovoGuia: Next.js App Router — layouts, Server/Client Components, data fetching
- NovoImplementação: Contact Showcase — API, Zod, rate limit, reCAPTCHA, Resend e comparativo de libs
- NovoFerramenta: JSON Formatter & Validator — pretty print, minify e validação
- NovoGuia: Estado no React — useState, Context, Zustand com exemplos replicáveis
- NovoImplementação: Testing Showcase — Vitest, Testing Library, mocks e checklist
- MelhoriaComentários de código nos exemplos traduzidos por idioma (pt-BR, en, es, de)
- CorreçãoPlaceholders `{{0}}` visíveis na UI em inglês corrigidos
- MelhoriaLayout da hero da home ajustado para evitar quebra de linha nos stats
8 itens
Analytics, Privacidade e Tutorial
Métricas ao vivo com Upstash Redis, guia de LGPD/cookies e tutorial interativo de contribuição.
- NovoImplementação: Analytics com Upstash Redis — page views, visitantes únicos e filtro de bots
- NovoGuia: Privacidade e Cookies — LGPD, consentimento, banner e política de privacidade
- NovoTutorial interativo de contribuição com file tree animada
- MelhoriaConfiguração de branch protection e CI/CD com GitHub Actions
- NovoComponente BackLink reutilizável adicionado
5 itens
Guias, Ferramentas e Busca
Explosão de conteúdo: 4 guias novos, 2 ferramentas interativas e busca global refatorada.
- NovoGuia: Git Workflow & Cheat Sheet — branching, conventional commits e comandos
- NovoGuia: React Design Patterns — Compound Components, Hooks, Render Props, HOCs
- NovoGuia: TypeScript Patterns — Utility Types, Generics e Type Narrowing
- NovoGuia: Segurança Frontend & Backend — Rate Limiting, reCAPTCHA, Honeypot, Zod e Headers
- NovoGuia: Recursos para Devs Jr/Pleno/Sênior — snippets e playground por nível
- NovoFerramenta: Regex Playground — editor interativo com highlight em tempo real
- NovoFerramenta: AI Code Reviewer — análise com GPT-4o Mini e score de qualidade
- MelhoriaBusca global refatorada: i18n completo, botão limpar e melhorias responsivas
- MelhoriaNavegação com colunas por categoria e links 'ver todos'
- NovoMobile action bar flutuante
10 itens
Chatbot IA e Mais Guias
Integração com OpenAI, novos guias de React/Tailwind/React Query e melhorias de performance.
- NovoImplementação: AI Chatbot com OpenAI — streaming, Vercel AI SDK e system prompt
- NovoGuia: React Query Essencial — cache, mutations, invalidação e optimistic updates
- NovoGuia: Tailwind CSS + shadcn/ui — setup, componentes e boas práticas
- NovoGuia: Dicas de IA — v0, Copilot, prompt engineering e ferramentas
- NovoPágina 404 personalizada
- MelhoriaVercel Analytics e Speed Insights integrados
- MelhoriaHero component refatorado para slots flexíveis e reuso
- MelhoriaImagens de projetos convertidas para WebP
8 itens
SEO Showcase e i18n Completo
SEO técnico documentado com exemplos reais e cobertura multilíngue expandida.
- NovoImplementação: SEO Showcase — Meta tags, Open Graph, JSON-LD, Sitemap e Robots
- MelhoriaSuporte multilíngue completo para todas as seções (pt-BR, en, es, de)
- MelhoriaVariáveis de ambiente documentadas
3 itens
i18n Showcase e Busca Global
Primeira implementação ao vivo com demo de internacionalização e busca global tipada.
- NovoImplementação: i18n Showcase — demo ao vivo com 4 idiomas usando next-intl e DeepL
- NovoBusca global com tipagem e type safety
- NovoSistema de rotas dinâmicas com CONTENT_ITEMS
- MelhoriaEstrutura reorganizada em feature-based folders
4 itens
Lançamento Inicial
Fundação do projeto: stack completa, i18n em 4 idiomas, home page e documentação técnica.
- NovoEstrutura inicial com Next.js 15, TypeScript, Tailwind CSS e shadcn/ui
- Novoi18n com next-intl em 4 idiomas: pt-BR, en, es, de
- NovoHome page com seções: About, Tech Stack, GitHub Stats, Projects, Experience, AI Innovation e Contact
- NovoDocumentação técnica completa: i18n, content management e design system
4 itens