Pular para o conteúdo
Changelog

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

v0.17.0
Mais recente

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

v0.16.0

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

v0.15.0

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

v0.14.0

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

v0.13.0

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

v0.12.0

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

v0.11.0

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

v0.10.0

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

v0.9.0

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

v0.8.0

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

v0.7.0

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

v0.6.0

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

v0.5.0

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

v0.4.0

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

v0.3.0

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

v0.2.0

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

v0.1.0

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