What's Changed
- Patch by @safesploit in #8
- Patch by @safesploit in #10
- Renamed class by @safesploit in #16
- Delete .github/workflows directory by @safesploit in #21
New Contributors
- @safesploit made their first contribution in #8
Full Changelog: v1.1.2-beta...v1.2.0
Overview v1.2
Doogle continues its evolution from a learning project into a modern search platform.
✨ Highlights
- 🔐 Added authenticated admin access for crawl operations
- 🛡️ Introduced CSRF protection, rate limiting, security event logging, and hardened session handling
- 🌐 Migrated towards a dedicated
public/web root architecture - 🎥 Added a new Videos search vertical alongside Sites and Images
- 🕷️ Implemented authenticated browser-based crawling
- ⚙️ Added trusted CLI crawling via
bin/crawland Docker wrappers - 📊 Introduced crawl job tracking and operational visibility foundations
- 📈 Improved search ranking with deterministic, explainable scoring
- 📉 Added search analytics and admin ranking controls
- 🐳 Modernised runtime architecture with Nginx + PHP-FPM + MariaDB
- 🧪 Expanded automated testing across authentication, crawling, ranking, video search, and security controls
🔒 Security
- Private network and localhost crawl blocking
- URL validation and crawler policy enforcement
- Session hardening and login protection
- CSRF protection for state-changing actions
- Security headers and event logging
- Secure password hashing with
password_hash()andpassword_verify()
🏗️ Architecture
Doogle now includes:
- PSR-4 architecture
- Repository and service layers
- DTOs
- Auth layer
- Crawl job model
- Video indexing support
- Public web-root isolation
- Production-focused container architecture
Doogle v1.2 represents the largest architectural milestone in the project's history, transforming it into a modernised search engine.