Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
d7ce2e2
Add regex routing support with constraints and shortcuts
code-cfernandes Jul 8, 2025
a479ca5
Refactor: Atualizar documentação e métodos para melhor clareza e cons…
code-cfernandes Jul 8, 2025
5b3a579
Refactor: Atualizar validação de projeto e otimizar gerenciamento de …
code-cfernandes Jul 8, 2025
68cabcb
Refactor: otimizar o processamento de rotas com pré-compilação de pad…
code-cfernandes Jul 8, 2025
f0f7e7a
Refactor: remover validação de benchmarks e extrair parâmetros corres…
code-cfernandes Jul 8, 2025
f86bff3
Refactor: corrigir erros de digitação em caminhos de documentação e a…
code-cfernandes Jul 8, 2025
488ec33
Refactor: corrigir erros de digitação em caminhos de documentação e m…
code-cfernandes Jul 8, 2025
c635834
Refactor: otimizar verificação de regex removendo chamadas desnecessá…
code-cfernandes Jul 8, 2025
e031ed2
Refactor: melhorar identificação de rotas dinâmicas e estáticas com v…
code-cfernandes Jul 8, 2025
2d24f72
Refactor: remover espaços em branco desnecessários em arquivos de tes…
code-cfernandes Jul 8, 2025
a85405e
Update scripts/SCRIPTS_UPDATE_STATUS.md
code-cfernandes Jul 8, 2025
f330a87
Refactor: corrigir erro de digitação no caminho do sistema de extensõ…
code-cfernandes Jul 8, 2025
5abfc76
Fix greedy regex pattern and ensure optimized routes have required fi…
code-cfernandes Jul 8, 2025
7bc6075
Merge branch '1-feature-rfc-regex-routing-support-for-pivotphp' of ht…
code-cfernandes Jul 8, 2025
5e92d33
refactor: break down compilePattern method into smaller helper methods
code-cfernandes Jul 8, 2025
504091e
feat: Add regex route validation support and enhance routing document…
code-cfernandes Jul 8, 2025
4ee14f9
feat: Adicionar método para correspondência de rotas com padrão e oti…
code-cfernandes Jul 8, 2025
e3e7de9
Update src/Routing/Router.php
code-cfernandes Jul 8, 2025
399cb7f
feat: Adicionar documentação abrangente sobre limitações de blocos re…
code-cfernandes Jul 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 48 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,50 @@ All notable changes to the PivotPHP Framework will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.0.1] - 2025-07-08

### 🆕 **Regex Route Validation Support**

> 📖 **See complete overview:** [docs/releases/FRAMEWORK_OVERVIEW_v1.0.1.md](docs/releases/FRAMEWORK_OVERVIEW_v1.0.1.md)

#### Added
- **Regex Constraints**: Advanced pattern matching for route parameters
- **Predefined Shortcuts**: Common patterns (int, slug, uuid, date, etc.)
- **Full Regex Blocks**: Complete control over route segments
- **Non-greedy Pattern Matching**: Improved regex processing
- **Backward Compatibility**: All v1.0.0 routes continue to work

#### Changed
- Refactored `RouteCache::compilePattern()` into 12 focused helper methods
- Improved route compilation performance with better regex handling
- Enhanced parameter extraction logic with shared helper method
- Updated documentation positioning (ideal for concept validation and studies)
- Added comprehensive documentation for regex block pattern limitations
- Created dedicated test suite for regex block validation

#### Fixed
- Route pattern compilation preserving URL-encoded characters
- Regex anchors being duplicated in full regex blocks
- Greedy regex pattern spanning multiple blocks
- PHPStan warnings about type comparisons
- PSR-12 code style violations

#### Examples
```php
// Numeric validation
$app->get('/users/:id<\\d+>', handler);

// Using shortcuts
$app->get('/posts/:slug<slug>', handler);
$app->get('/items/:uuid<uuid>', handler);

// Date validation
$app->get('/archive/:year<\\d{4}>/:month<\\d{2}>', handler);

// Full regex blocks
$app->get('/api/{^v(\\d+)$}/users', handler);
```

## [1.0.0] - 2025-07-07

### 🚀 **Initial Stable Release**
Expand Down Expand Up @@ -45,7 +89,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- ✅ **PSR-12**: 100% code style compliance
- ✅ **270+ Tests**: Comprehensive test coverage
- ✅ **PHP 8.1+**: Modern PHP version support
- ✅ **Production Ready**: Battle-tested in enterprise environments
- ✅ **Performance Validated**: Optimized for high-performance applications

#### Technical Stack
- **PHP**: 8.1+ with full 8.4 compatibility
Expand Down Expand Up @@ -91,7 +135,7 @@ For questions, issues, or contributions:

---

**Current Version**: v1.0.0
**Release Date**: July 7, 2025
**Stability**: Stable
**Current Version**: v1.0.1
**Release Date**: July 8, 2025
**Status**: Ideal for concept validation and studies
**Minimum PHP**: 8.1
77 changes: 0 additions & 77 deletions DOCS_VALIDATION_REPORT.md

This file was deleted.

30 changes: 0 additions & 30 deletions DOCUMENTATION_STATUS.md

This file was deleted.

149 changes: 0 additions & 149 deletions FINAL_VALIDATION_REPORT_v1.0.0.md

This file was deleted.

Loading