|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to InvoicePlane will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## [1.7.0] - 2025-12-02 |
| 9 | + |
| 10 | +### Added |
| 11 | +- Full PHP 8.2+ compatibility support (PHP 8.1, 8.2, 8.3+) |
| 12 | +- Enhanced security logging for file uploads and template operations |
| 13 | +- Comprehensive input validation for template parameters |
| 14 | +- Security warnings in admin interface for SVG logo files |
| 15 | + |
| 16 | +### Changed |
| 17 | +- Updated all PHP dependencies for PHP 8.2+ compatibility |
| 18 | +- Improved error handling in PDF generation |
| 19 | +- Enhanced input sanitization across all user-facing forms |
| 20 | +- Modernized codebase to follow PHP 8+ standards |
| 21 | + |
| 22 | +### Security |
| 23 | +- **CRITICAL:** Fixed multiple Cross-Site Scripting (XSS) vulnerabilities |
| 24 | + - Quote and invoice number fields now properly escaped in all templates |
| 25 | + - Tax rate names and payment method names sanitized |
| 26 | + - Custom field labels and client addresses protected from XSS |
| 27 | + - Sumex observations and quote notes/passwords sanitized |
| 28 | + - Email templates now use proper HTML escaping |
| 29 | +- **CRITICAL:** Fixed Local File Inclusion (LFI) vulnerabilities |
| 30 | + - Template validation added to PDF generation endpoints |
| 31 | + - Invoice and quote template parameters now validated |
| 32 | + - Prevented directory traversal attacks through template selection |
| 33 | +- **HIGH:** Fixed log poisoning vulnerability in file upload controller |
| 34 | + - File names are now sanitized before logging |
| 35 | + - Prevents control character injection in log files |
| 36 | +- **HIGH:** SVG logo files are now blocked entirely |
| 37 | + - SVG files can contain embedded JavaScript that could execute in user browsers |
| 38 | + - Existing SVG logos will not display (security block) |
| 39 | + - Users should convert to PNG, JPG, or GIF formats |
| 40 | + |
| 41 | +### Removed |
| 42 | +- Support for SVG logo uploads (security measure) |
| 43 | +- Deprecated library dependencies |
| 44 | +- PHP 7.x compatibility (minimum PHP 8.1 required) |
| 45 | + |
| 46 | +### Fixed |
| 47 | +- Email address verification now supports both comma and semicolon separators |
| 48 | +- QR code image width reduced to 100px for better display |
| 49 | +- Version checking and logging for e-invoicing fields |
| 50 | +- File access vulnerabilities across multiple controllers |
| 51 | + |
| 52 | +## [1.6.4] - Earlier Release |
| 53 | + |
| 54 | +For changes in version 1.6.4 and earlier, please see the git commit history. |
| 55 | + |
| 56 | +--- |
| 57 | + |
| 58 | +## Security Disclosure |
| 59 | + |
| 60 | +If you discover a security vulnerability in InvoicePlane, please email **[mail@invoiceplane.com](mailto:mail@invoiceplane.com)** before disclosing it publicly. We will address all security concerns promptly. |
0 commit comments