Skip to content

Latest commit

 

History

History
314 lines (212 loc) · 9.71 KB

File metadata and controls

314 lines (212 loc) · 9.71 KB

🚀 PivotPHP v2.0.0 - Legacy Cleanup Edition

Data de Lançamento: Janeiro 2025 Tema: "Simplicity through Elimination"


🎉 Anunciando PivotPHP v2.0.0

Estamos orgulhosos de apresentar o PivotPHP v2.0.0 - Legacy Cleanup Edition, uma release focada em qualidade, simplicidade e manutenibilidade. Esta versão marca um marco importante na evolução do framework, removendo 18% do código-base (11.871 linhas) enquanto mantém 100% de cobertura de testes.


✨ O que há de novo?

🧹 Limpeza Arquitetural Massiva

  • 18% de Redução de Código - Removidas 11.871 linhas de código legado
  • 110 Aliases Eliminados - Estrutura de namespaces mais limpa e intuitiva
  • Zero Código Deprecated - Todo código legado v1.1.x removido
  • 30 Arquivos Removidos - Classes e testes obsoletos eliminados

⚡ Melhorias de Performance

  • 59% Mais Rápido no Autoload - Eliminado overhead de mapeamento de aliases
  • 10% Menos Memória - Arquitetura mais enxuta (1.61MB → 1.45MB)
  • Bootstrap ~6ms - Inicialização de aplicação 59% mais rápida
  • Zero Regressões - Mantido throughput HTTP de 44.092 ops/sec

🔌 Arquitetura Modular (Fase 1)

  • Routing Externalizado - Sistema de roteamento movido para pacote pivotphp/core-routing
  • Backward Compatible - Sistema de aliases garante transição suave
  • Preparado para v2.1.0 - Base para injeção de router plugável

📚 Namespaces Modernos

// ✅ Estrutura Organizada e Intuitiva
use PivotPHP\Core\Middleware\Security\AuthMiddleware;
use PivotPHP\Core\Middleware\Http\CorsMiddleware;
use PivotPHP\Core\Middleware\Performance\RateLimitMiddleware;

💥 Breaking Changes (Migração Necessária)

⚠️ Esta é uma release com breaking changes

Tempo estimado de migração: 15-30 minutos para aplicações típicas

Principais Mudanças

  1. Namespaces de Middleware PSR-15

    // ❌ Removido
    use PivotPHP\Core\Http\Psr15\Middleware\AuthMiddleware;
    
    // ✅ Novo
    use PivotPHP\Core\Middleware\Security\AuthMiddleware;
  2. Remoção do Prefixo Simple*

    // ❌ Removido
    use PivotPHP\Core\Middleware\SimpleRateLimitMiddleware;
    
    // ✅ Novo
    use PivotPHP\Core\Middleware\Performance\RateLimitMiddleware;
  3. Sistema OpenAPI Modernizado

    // ❌ Removido - Abordagem antiga
    $exporter = new OpenApiExporter($router);
    
    // ✅ Novo - Middleware PSR-15
    $app->use(new ApiDocumentationMiddleware([
        'title' => 'My API',
        'version' => '1.0.0'
    ]));
  4. Componentes Removidos

    • DynamicPoolManager → Use ObjectPool
    • SimpleTrafficClassifier → Removido (over-engineered)
    • Todas as 110 aliases legadas v1.1.x

🚀 Migração Rápida

Script Automatizado

# 1. Atualizar dependências
composer require pivotphp/core:^2.0

# 2. Atualizar namespaces PSR-15
find src/ -type f -name "*.php" -exec sed -i \
  's/use PivotPHP\\Core\\Http\\Psr15\\Middleware\\/use PivotPHP\\Core\\Middleware\\/g' {} \;

# 3. Remover prefixos Simple*
find src/ -type f -name "*.php" -exec sed -i \
  's/Simple\(RateLimitMiddleware\|CsrfMiddleware\)/\1/g' {} \;

# 4. Testar
composer test

Guias Completos


🎯 Por que v2.0.0?

Filosofia: "Simplicity through Elimination"

Esta release reflete nosso compromisso com manutenibilidade sobre backward compatibility:

  1. Menos Complexidade Cognitiva - 110 aliases a menos para entender
  2. Intenção Mais Clara - Namespaces modernos refletem propósitos dos componentes
  3. Melhor Navegação - Estrutura de diretórios mais simples
  4. Base Limpa - Preparado para desenvolvimento de features v2.x

Por que Breaking Changes?

  • SemVer Compliant - Versões major permitem breaking changes
  • Saúde a Longo Prazo - Melhor quebrar uma vez que acumular débito técnico
  • Foco Educacional - Codebase mais simples, mais fácil de aprender
  • Future-Ready - Base limpa para features do PHP 8.4

📊 Impacto Técnico

Métricas de Performance

Métrica v1.2.0 v2.0.0 Melhoria
Aliases 110 0 100%
Linhas de Código 66.548 54.677 -18%
Bootstrap Time ~15ms ~6ms 59%
Memory Footprint 1.61MB 1.45MB -10%
Throughput HTTP 44.092 ops/s 44.092 ops/s ✅ Mantido

Qualidade de Código

  • 100% Cobertura de Testes - 5.548 testes passando
  • PHPStan Level 9 - Análise estática máxima
  • PSR-12 Compliant - Padrões de código modernos
  • Zero Deprecated - Nenhum código legacy

🎓 Benefícios para Desenvolvedores

Imediatos

  • Autoload 59% Mais Rápido - Aplicações iniciam mais rápido
  • Menos Memória - Footprint 10% menor
  • Estrutura Mais Limpa - Namespaces intuitivos

Longo Prazo

  • Código Mais Fácil de Manter - Menos conceitos para entender
  • Melhor Suporte IDE - Autocomplete mais preciso
  • Documentação Consistente - Exemplos unificados
  • Preparado para Futuro - Base para PHP 8.4+

🗺️ Roadmap v2.x

v2.1.0 (Q2 2025) - Pluggable Architecture

  • 🚧 Injeção de Router - Router customizado via Application constructor
  • 🚧 RouterInterface Contract - Interface para adapters
  • 🚧 Múltiplos Adapters - Symfony, Attribute-based routing
  • 🚧 Validação de Request - Built-in request validation
  • 🚧 Advanced Middleware - Response caching, compression

v2.2.0 (Q3 2025) - Developer Experience

  • 🚧 CLI Scaffolding - Geração automática de código
  • 🚧 Documentação Interativa - Exemplos executáveis
  • 🚧 Performance Profiler UI - Interface visual de profiling
  • 🚧 Enhanced Error Pages - Páginas de erro ricas

v3.0.0 (2026) - PHP 8.4 Modernization

  • 🚧 Property Hooks - Configuração com property hooks
  • 🚧 Asymmetric Visibility - Visibilidade assimétrica para internals
  • 🚧 Modern Array Functions - Aproveitamento de novas funções

📦 Instalação

Novos Projetos

composer require pivotphp/core:^2.0

Projetos Existentes

# Atualizar composer.json
composer require pivotphp/core:^2.0

# Seguir guia de migração
# https://github.com/HelixPHP/helixphp-core/blob/main/docs/releases/v2.0.0/MIGRATION_GUIDE_v2.0.0.md

🤝 Como Contribuir

PivotPHP é mantido por uma pessoa e se beneficia muito da colaboração da comunidade!

Formas de Contribuir

  • 🐛 Reportar Bugs - GitHub Issues
  • 💡 Sugerir Features - GitHub Discussions
  • 📝 Melhorar Documentação - Pull requests bem-vindos
  • 🧪 Adicionar Testes - Cobertura sempre pode melhorar
  • 🔌 Criar Extensões - Expanda o ecossistema

💬 Suporte

Precisa de Ajuda?

Problemas com Migração?

  1. Consulte o Troubleshooting Guide
  2. Procure issues existentes
  3. Abra nova issue com tag [migration]
  4. Junte-se ao Discord para ajuda em tempo real

🙏 Agradecimentos

Lead Developer: Claudio Fernandes (@cfernandes) Testing: Pipeline CI/CD automatizado (5.548 testes) Comunidade: Feedback e contribuições valiosas

Agradecimento Especial: A todos que reportaram issues sobre confusão de namespaces - esta release é dedicada a vocês! 💙


📈 Estatísticas da Release

Files changed: 187 → 157 (-30 files)
Lines removed: 11,871
Aliases eliminated: 110
Tests passing: 5,548 (100%)
Migration scripts: 5 automated
Documentation pages: 3 comprehensive guides
Backwards compatibility: Planned v2.0 → v2.1 smooth path

🎉 Conclusão

PivotPHP v2.0.0 representa um marco importante na evolução do framework. Ao remover 18% do código-base e eliminar todo código deprecated, estabelecemos uma base sólida e limpa para o futuro do PivotPHP.

Esta não é apenas uma release de cleanup - é um compromisso com simplicidade, manutenibilidade e excelência educacional.

Estamos prontos para o futuro. Você está pronto para atualizar? 🚀


Versão: 2.0.0 Codename: Legacy Cleanup Edition Data: Janeiro 2025 Status: ✅ Released


Links Úteis


Happy Coding! 🚀

"Simplicity through Elimination"


PivotPHP v2.0.0 - Built with ❤️ for the PHP Community