10da69785SJohann Duscher# Changelog 20da69785SJohann Duscher 30da69785SJohann DuscherAll notable changes to the Delete Page Guard plugin will be documented in this file. 40da69785SJohann Duscher 50da69785SJohann DuscherThe format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), 60da69785SJohann Duscherand this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 70da69785SJohann Duscher 8*9a383d51SJohann Duscher## [1.0.0] - 2025-11-02 90da69785SJohann Duscher 100da69785SJohann Duscher### Added 11*9a383d51SJohann Duscher 120da69785SJohann Duscher- Initial release of Delete Page Guard plugin 130da69785SJohann Duscher- Protection of pages from deletion via empty save operations 140da69785SJohann Duscher- PCRE regular expression pattern matching 150da69785SJohann Duscher- Support for matching against page ID or file path 160da69785SJohann Duscher- Administrator bypass functionality 170da69785SJohann Duscher- Configurable exempt user groups 180da69785SJohann Duscher- Whitespace-only content handling (trim mode) 190da69785SJohann Duscher- Configuration via DokuWiki Configuration Manager 200da69785SJohann Duscher- English language support 211a97af9eSJohann Duscher- **Pattern validation system** with real-time error detection 221a97af9eSJohann Duscher- **Admin interface** for testing and validating regex patterns 231a97af9eSJohann Duscher- **Comprehensive error messaging** for administrators 240da69785SJohann Duscher 250da69785SJohann Duscher### Security 26*9a383d51SJohann Duscher 270da69785SJohann Duscher- Regex pattern validation to prevent malformed expressions 280da69785SJohann Duscher- Basic ReDoS (Regular Expression Denial of Service) protection 290da69785SJohann Duscher- Input sanitization and validation 300da69785SJohann Duscher- Execution timeout protection for regex matching 311a97af9eSJohann Duscher- Pattern complexity limits to prevent performance issues 320da69785SJohann Duscher 330da69785SJohann Duscher### Technical 34*9a383d51SJohann Duscher 350da69785SJohann Duscher- Integration with DokuWiki's `COMMON_WIKIPAGE_SAVE` event 360da69785SJohann Duscher- Proper event handling with `preventDefault()` and `stopPropagation()` 370da69785SJohann Duscher- GPL v2 licensing with proper headers 380da69785SJohann Duscher- Standard DokuWiki plugin structure 390da69785SJohann Duscher- Comprehensive documentation and examples 40*9a383d51SJohann Duscher- **Developer test suite** with comprehensive tests 41c176b8b3SJohann Duscher- **Enhanced ReDoS detection** for better security 42c176b8b3SJohann Duscher- **Cross-platform file path handling** (Windows/Unix) 430da69785SJohann Duscher 440da69785SJohann Duscher[1.0.0]: https://github.com/jonnydee/deletepageguard/releases/tag/v1.0.0