|
2 | 2 |
|
3 | 3 | ## Unreleased |
4 | 4 |
|
5 | | -- Set the minimum supported version of Python to 3.10. |
6 | | -- Updated GitHub Actions CI matrix to test Python 3.10-3.14. |
7 | | -- Refactored configuration system for better maintainability and performance. |
8 | | - - Split large `get_config()` function into focused, single-responsibility functions |
9 | | - - Added version caching system to reduce GitHub API requests (1-hour cache) |
10 | | - - Enhanced error messages with specific guidance for configuration issues |
11 | | - - Added configurable request timeout via `TAILWIND_CLI_REQUEST_TIMEOUT` setting |
12 | | - - Improved type safety with `PlatformInfo` and `VersionCache` data structures |
13 | | - - Better validation of Django settings with helpful error messages |
14 | | -- Improved process management for `tailwind runserver` command. |
15 | | - - Replaced problematic `multiprocessing.Process` with proper `subprocess.Popen` |
16 | | - - Added `ProcessManager` class for reliable concurrent process handling |
17 | | - - Implemented proper signal handling (SIGINT/SIGTERM) for graceful shutdown |
18 | | - - Added process monitoring with automatic cleanup and error recovery |
19 | | - - Enhanced CLI download with streaming progress indication |
20 | | - - Improved error handling with better exception chaining and timeouts |
21 | | -- Reduced code duplication in management commands for better maintainability. |
22 | | - - Extracted common setup logic into `_setup_tailwind_environment()` function |
23 | | - - Created centralized `_execute_tailwind_command()` for consistent subprocess handling |
24 | | - - Added `@handle_command_errors` decorator for uniform error handling across commands |
25 | | - - Refactored `build()` and `watch()` commands to use shared utilities |
26 | | - - Maintained backward compatibility with all existing test expectations |
27 | | -- Optimized file operations for improved performance and reduced I/O overhead. |
28 | | - - Added file modification time checks to prevent unnecessary CSS rebuilds |
29 | | - - Implemented smart content comparison to avoid rewriting unchanged files |
30 | | - - Added `--force` flag to `tailwind build` command for explicit rebuild control |
31 | | - - Introduced file existence caching with 5-second duration for hot paths |
32 | | - - Enhanced CLI binary validation to skip redundant downloads |
33 | | - - Preserved existing custom CSS content while optimizing default file creation |
34 | | -- Enhanced template discovery and developer experience with verbose logging. |
35 | | - - Added `--verbose` flag to `build`, `watch`, and `list_templates` commands |
36 | | - - Implemented comprehensive error handling for template path resolution |
37 | | - - Added performance metrics and timing information for all operations |
38 | | - - Enhanced `list_templates` with detailed scanning diagnostics and error reporting |
39 | | - - Improved CLI download progress with file size and permission details |
40 | | - - Added colorized console output with emojis for better visual feedback |
41 | | -- Added comprehensive integration tests for improved quality assurance and reliability. |
42 | | - - Created 22 new integration tests covering end-to-end workflows and system interactions |
43 | | - - Added full build workflow testing from CLI download to CSS generation |
44 | | - - Implemented watch mode integration testing with process management validation |
45 | | - - Added cross-platform compatibility tests for Windows, macOS, and Linux |
46 | | - - Created error recovery scenario testing for corrupted binaries and missing directories |
47 | | - - Added CLI download integration tests with progress tracking and network error handling |
48 | | - - Implemented verbose logging integration tests across all management commands |
49 | | - - Enhanced test coverage to 87% with comprehensive workflow validation |
50 | | - - Fixed coverage configuration issues to ensure consistent test reporting |
51 | | -- Added comprehensive error scenario coverage for enhanced reliability and robustness. |
52 | | - - Created 36 new error scenario tests covering configuration validation, network failures, and edge cases |
53 | | - - Added configuration error testing for invalid settings, empty values, and malformed configurations |
54 | | - - Implemented network error scenario testing including timeouts, connection failures, and HTTP errors |
55 | | - - Added subprocess execution error testing for CLI failures, permission errors, and process management |
56 | | - - Created file system error scenario testing for permission issues, disk space problems, and path handling |
57 | | - - Added concurrency and race condition testing for ProcessManager and version caching |
58 | | - - Implemented edge case testing for Unicode paths, extremely long paths, and zero-byte downloads |
59 | | - - Enhanced error handling validation across all management commands and utility functions |
60 | | - - Fixed config tests to properly clear cache and mock network requests for consistent fallback behavior |
61 | | - - Improved test coverage to 89% with comprehensive error scenario validation |
62 | | -- Improved documentation and usability for enhanced developer experience. |
63 | | - - Enhanced all command help text with detailed examples and common use cases |
64 | | - - Added actionable error messages with specific solutions for configuration and system issues |
65 | | - - Created comprehensive configuration documentation with complete settings reference and examples |
66 | | - - Added new `config` command to display current configuration settings in formatted output |
67 | | - - Implemented new `setup` command providing interactive step-by-step setup guidance for new projects |
68 | | - - Added new `troubleshoot` command with solutions for 7 common issues including debugging steps |
69 | | - - Improved error handling with helper functions providing specific guidance for different error types |
70 | | - - Enhanced main command help with practical examples for getting started quickly |
| 5 | +### 🎯 New Features |
| 6 | +- **Interactive setup command**: `python manage.py tailwind setup` for guided configuration |
| 7 | +- **Configuration viewer**: `python manage.py tailwind config` to inspect current settings |
| 8 | +- **Troubleshooting guide**: `python manage.py tailwind troubleshoot` for common issues |
| 9 | +- **Performance tips**: `python manage.py tailwind optimize` for optimization guidance |
| 10 | +- **Enhanced verbose mode**: `--verbose` flag for detailed build and watch diagnostics |
| 11 | + |
| 12 | +### ⚡ Performance Improvements |
| 13 | +- **Smart rebuilds**: File modification checks prevent unnecessary CSS rebuilds |
| 14 | +- **Version caching**: 1-hour cache reduces GitHub API requests |
| 15 | +- **Process optimization**: Improved `tailwind runserver` with better signal handling |
| 16 | +- **File operations**: Optimized I/O with caching and content comparison |
| 17 | + |
| 18 | +### 🛠️ Developer Experience |
| 19 | +- **Better error messages**: Actionable solutions for configuration and system issues |
| 20 | +- **Colorized output**: Visual feedback with emojis and progress indicators |
| 21 | +- **Help text improvements**: Detailed examples and use cases for all commands |
| 22 | +- **Template scanning**: Enhanced discovery with error handling and performance metrics |
| 23 | + |
| 24 | +### 📚 Documentation & Resources |
| 25 | +- **Comprehensive README**: Step-by-step quick start and feature overview |
| 26 | +- **Advanced guides**: CONFIGURATION.md and DEVELOPMENT.md for production deployments |
| 27 | +- **Inline documentation**: Detailed docstrings and usage examples throughout codebase |
| 28 | + |
| 29 | +### 🧪 Quality Assurance |
| 30 | +- **Comprehensive testing**: 58+ new tests covering integration workflows and error scenarios |
| 31 | +- **Cross-platform support**: Windows, macOS, and Linux compatibility testing |
| 32 | +- **89% test coverage**: Robust validation of all major functionality |
| 33 | + |
| 34 | +### 🔧 Technical Improvements |
| 35 | +- **Python 3.10+ minimum**: Updated supported Python versions to 3.10-3.14 |
| 36 | +- **Refactored internals**: Better maintainability with focused, single-responsibility functions |
| 37 | +- **Type safety**: Improved with `PlatformInfo` and `VersionCache` data structures |
71 | 38 |
|
72 | 39 | ## 4.2.4 |
73 | 40 |
|
|
0 commit comments