- Re-enable anti-bloat mechanism to prevent bloated builds with Pandas and other libraries
- Restrict UPX compression to eliminate packing warnings and conflicts in Nuitka single-file mode
- Remove strict MSVC fallback logic to prevent build failures on systems without Visual Studio
- Relax compiler rules to let Nuitka automatically select and download suitable toolchains
- Switch default packaging strategy to Lite Mode with bytecode and link-time optimizations enabled
fix: sanitize AST scanned dependencies and harden configparser handling
- Scanner: Enforce case-insensitive matching for excluded directories to strictly avoid scanning virtual environments.
- Scanner: Filter out legacy/pseudo modules (e.g., __main__, android, org) and invalid package names using VALID_IDENTIFIER_REGEX.
- Build: Sanitize dedup_install_list before pip installation to prevent flags starting with '-' from being interpreted as CLI options.
- Config: Refactor load_config to use standard configparser methods (add_section, set, has_option) instead of raw dict assignments.
- Bump version to 2.8.6.
fix: resolve config DuplicateOptionError and replace webbrowser with QDesktopServices
- Config: Initialize ConfigParser with strict=False and normalize DEFAULT_MAPPINGS keys to lowercase to prevent DuplicateOptionError.
- Settings: Ensure package mapping keys are lowercased before persisting to config.ini.
- UI: Replace dynamic `__import__('webbrowser')` calls with `QDesktopServices.openUrl` to fix ModuleNotFoundError in standalone builds.
- Bump version to 2.8.5.
- Add EXCLUDE_DIR_NAMES and in-place directory pruning to AST dependency scanner
- Restore on-demand folder scanning in PackingThread (respect use_pipreqs_dir)
- Filter out invalid modules starting with '-' or '_' during AST import extraction
- Prune virtual environments and vendor folders during project entry script discovery
- Enforce lowercase keys when updating default package mappings in config
- Bump version to 2.8.4
- Remove duplicate case variations from DEFAULT_MAPPINGS
- Enforce lowercase normalization and deduplication in load_config
- Acknowledge @zxinyun (52pojie) for discovering the root cause
- Fixed `IndexError: tuple index out of range` in Python version parsing for backport exclusion rules and environment analysis
- Stabilized Nuitka Lite Mode by adjusting aggressive optimization flags (`--lto=auto`, `--python-flag=-O`) to prevent compilation OOM and linker errors
- Restored essential base packages in Nuitka dev-module exclusions to prevent breaking downstream third-party libraries
- Fixed PyInstaller exclude parameter syntax (`--exclude-module`) incorrectly using Nuitka's `--nofollow-import-to`
- Improved console pause code injection to preserve PEP 263 file encoding declarations and Shebang headers
- Enhanced package name parsing regex to properly handle complex requirements specifications (e.g., `pkg[extras]`, `@ git+https://`)
- Added defensive validation when querying target environment interpreter versions and parsing backport rules
- Updated application version metadata and locale dictionaries to v2.8.1
Update test_check.py
- Added direct project directory drag-and-drop support with automatic root workspace and requirements.txt detection
- Added smart entry script prioritization and interactive selection dialog for multi-script projects
- Expanded AST dependency analysis across the entire project workspace to capture sub-package imports
- Implemented local module and resource whitelisting to prevent unintended pip installations of local packages
- Expanded PyPI mappings and Auto-Hooks rules for C extensions and dynamic libraries (PyCryptodome, NaCl, pynput, etc.)
- Added automatic search path injection (`--paths` for PyInstaller and `PYTHONPATH` for Nuitka) for sub-directory entries
- Improved `requirements.txt` parser to safely handle inline comments and environment markers
- Added cross-hierarchy import detection and workspace configuration tips for standalone scripts
- Fixed SyntaxError caused by console pause code injection preceding `from __future__` statements
- Fixed TypeError crash caused by `os.walk` iteration variable shadowing the global translation function
Update QUICKSTART.md、README.MD...
- Added `--lto=yes` Link-Time Optimization for Nuitka in Lite Mode
- Fixed package bloat in Lite Mode
- Fixed fatal TypeError in Backport exclusion rule version comparison
- Cleaned up bare except clauses to avoid swallowing interrupt signals
- Upgraded hashing algorithm to SHA-256 and added download protocol validation
- Passed Ruff, Flake8, and Bandit security and quality audits
- Added `__future__.annotations` for Python 3.8/3.9 type hint compatibility
- Cleaned up redundant AST dependency logs when requirements.txt is absent
- Fixed missing dynamic translation for the "Code Signing" card title
- Enable Nuitka anti-bloat plugin and dev-module exclusions by default to prevent size bloat.
- Remove Nuitka --remove-output to prevent FATAL build crashes caused by OneDrive/antivirus file locks.
- Fix built-in standard library manifest by adding 'traceback' and 'warnings'.
- Expand UPX safe exclusions (Qt5, sqlite3, libcrypto/libssl).
- Add resource auto-collection for pyecharts and pyppeteer.
- Enhance GUI detection for qtpy, pyglet, toga, and pyqtgraph.
- Update default package mappings and modern Python download matrix.
Added:
- Support for shared virtual environments across different scripts
- Pre-flight health checks for system RAM, disk space, and Python interpreter
- Upfront config validation for file paths and directory permissions
- Extracted system thresholds into global constants
Changed:
- Improve build cancellation to prevent orphaned background processes
- Enhance cache cleanup logic with better retry mechanism and failure summary
- Prevent silent failures by adding timeout and error catching in core execution
- Improve internal log level routing
Fixed:
- Fix application crash during health checks due to uninitialized variables
- Fix crash caused by invalid empty items in the additional resources list
- Remove duplicate write-permission tests and redundant path validations
- Complete missing i18n translations for new warnings and alerts
Features: Async venv cleanup, auto-fallback to pip user-mode, and update AI translator with reverse dict.
Fixes: Force recursive cleanup of custom temp directories, and reset 'keep local venv' UI checkbox state.
- feat(i18n): add update_locales_ai.py GUI tool for 1-click LLM-powered translation updates
- feat(venv): support smart project sandbox sensing and one-click local venv cleanup
- refactor(build): implement self-healing venv fallback & Linux/macOS process group termination
- fix(i18n): sync new UI strings for venv cleanup and fallback alerts with zh_CN dictionary