Added
- Kubernetes-ready containerized architecture (Docker + k3s)
- Shared-browser engine: 1 Chromium + N contexts (25x less RAM)
- Redis-backed job queue, state, auth, and log streaming
- Worker pod with automatic crash recovery
- CLI tool (
yp-cli.py) for terminal and AI agent usage
- Grok (xAI) integration replacing OpenAI for AI suggestions
- Error count tracking with live display during scrapes
- Job persistence across page reloads (localStorage)
- Documentation page and changelog
- Health check endpoint (
/healthz)
SKILL.md for Claude Code AI agent integration
Performance
- 249 concurrent scrapes in 3GB RAM (was 45GB with old architecture)
- 3,100+ businesses/min with proxy rotation
- Web container: 83MB idle, Worker: 120MB idle
- 250 searches complete in ~30-45 seconds
Fixed
- Open redirect vulnerability on login
- Path traversal in file downloads
- SSE log stream infinite loop with no timeout
- Jobs stuck in "running" after worker crash
- Browser context memory leaks on exceptions
- Redis connection loss causing permanent worker death
- Double-click race condition on Start button
- Page reload losing track of running job
Changed
- Replaced SQLite with Redis for user/settings storage
- Replaced file-based state with Redis pub/sub
- Admin password moved from hardcoded to environment variable
- Input validation: max 200 keywords/locations, bounded numerics
- File upload limited to 10MB
Added
- Public landing page with feature overview
- Hyperspace starfield animation during scrapes
Added
- Parallel scraping with configurable worker count
- Admin panel for user management
- User authentication with Flask-Login
- Settings page for API key configuration
- AI-powered keyword/location suggestions (OpenAI)
- Proxy rotation with health tracking
- Chunked CSV output for large result sets
- Business limit to cap results
- Auto-cleanup of old result files
Added
- Initial release
- Web UI for configuring and running scrapes
- Playwright-based scraping engine
- Real-time log monitoring via SSE
- CSV export with download
- Proxy file support
- Gunicorn production server with systemd service