You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add Python 3.13.5 version support with configuration files
Include batch scripts for Python execution and wheel installation
Update bundle release version to 2025.8.21
Add pywin32 wheel installation for Windows compatibility
Diagram Walkthrough
flowchart LR
A["Python 3.13.5"] --> B["Configuration Files"]
A --> C["Batch Scripts"]
A --> D["Wheel Installation"]
B --> E["bearsampp.conf"]
C --> F["python.bat"]
C --> G["install.bat"]
D --> H["pywin32 wheel"]
Loading
File Walkthrough
Relevant files
Configuration changes
python.bat
Python execution wrapper script
bin/python3.13.5/bin/python.bat
Create Python execution wrapper batch script
Set up environment variables and working directory
Enable backward compatibility for command-line usage
Here are some key observations to aid the review process:
⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 Security concerns
Supply chain: The wheel is fetched from an external GitHub release without checksum or signature verification. Consider adding hash verification and HTTPS URL integrity checks in the install process.
The wheel filename is hardcoded to a specific tag (pywin32-311-cp313-cp313-win_amd64.whl). Verify this matches the actual file provided by the URL and intended architecture/ABI, and consider parameterizing to avoid future mismatches.
The script assumes WINPYWORKDIR and WINPYDIR are set by env_for_icons.bat. Confirm these variables are reliably set and handle failure (e.g., missing env or spaces in paths) with error checks.
@echooffsetWINPYSCRIPTSDIR=%~dp0..\scripts
call"%WINPYSCRIPTSDIR%\env_for_icons.bat"
cd/D "%WINPYWORKDIR%"rem backward compatibility for python command-line users"%WINPYDIR%\python.exe"%*
Latest suggestions up to 017324d
Explore these optional code suggestions:
Category
Suggestion
Impact
Possible issue
Use absolute wheel path and exit code
Use the full path to the wheel to avoid relying on the current directory, and enable pip's no-index with find-links to ensure the local wheel is used. Also, propagate the exit code to surface installation failures.
@echo off
set WINPYSCRIPTSDIR=%~dp0..\scripts
call "%WINPYSCRIPTSDIR%\env.bat"
-"%WINPYDIR%\Scripts\pip.exe" install pywin32-311-cp313-cp313-win_amd64.whl+set "WHEEL_DIR=%~dp0"+"%WINPYDIR%\Scripts\pip.exe" install --no-index --find-links="%WHEEL_DIR%" "%WHEEL_DIR%pywin32-311-cp313-cp313-win_amd64.whl"+exit /B %ERRORLEVEL%
Apply / Chat
Suggestion importance[1-10]: 8
__
Why: This suggestion significantly improves the installation script's robustness by using an absolute path for the wheel, preventing network lookups with --no-index, and propagating the exit code for error handling.
Medium
Handle spaces and return exit code
Quote the work directory when changing directories to avoid failures if WINPYWORKDIR contains spaces. Also, propagate ERRORLEVEL from python to the caller so scripts and tooling can detect failures.
@echo off
set WINPYSCRIPTSDIR=%~dp0..\scripts
call "%WINPYSCRIPTSDIR%\env_for_icons.bat"
-cd/D "%WINPYWORKDIR%"+cd /D "%WINPYWORKDIR%"
rem backward compatibility for python command-line users
"%WINPYDIR%\python.exe" %*
+exit /B %ERRORLEVEL%
Apply / Chat
Suggestion importance[1-10]: 6
__
Why: The suggestion to propagate the ERRORLEVEL is a valuable improvement for robustness, as it allows calling scripts to detect failures within the python execution.
Low
Security
Add checksum verification
Validate the ABI tag to match Python 3.13; if the URL changes, ensure the filename remains consistent. Consider pinning checksum to detect corrupted or tampered downloads.
Why: Adding a checksum for the downloaded wheel is a crucial security enhancement to verify file integrity and prevent the use of corrupted or tampered files.
The bundled pywin32 wheel name targets Python 3.13 (cp313) but embeds a 311 version tag (pywin32-311-cp313...), which likely indicates a mismatched or incorrectly named artifact and may break installation/runtime ABI expectations. Verify the correct pywin32 build for CPython 3.13 amd64 and fix both the wheel filename/URL and install script accordingly.
Why: This suggestion correctly identifies a potential ABI incompatibility in the pywin32 wheel, which is a critical issue that could lead to runtime failures for the newly added Python 3.13 support.
High
Possible issue
✅ Remove duplicate version entrySuggestion Impact:The commit removed the duplicate 3.13.3 line, leaving a single mapping for that version.
Why: The suggestion correctly identifies a duplicated key 3.13.3 in the properties file, which is a definite error that should be fixed for correctness and to avoid parsing issues.
Medium
General
Robust local wheel installation
Quote the wheel path and use %~dp0 to resolve the script-relative location to avoid failures when the working directory differs or paths contain spaces. Also add --no-index --find-links to ensure local wheel is used if offline.
Why: The suggestion correctly points out that the pip install command is not robust and could fail if the script is run from a different directory; adding --find-links "%~dp0" makes the installation path-independent.
Medium
Validate directory change outcome
Check the cd /D result to fail fast when the work directory is missing; otherwise subsequent commands may run in an unexpected directory. Exit with a non-zero code on failure.
-cd/D "%WINPYWORKDIR%"+cd /D "%WINPYWORKDIR%"+if errorlevel 1 (+ echo Failed to change to WINPYWORKDIR: "%WINPYWORKDIR%"+ exit /b 1+)
Suggestion importance[1-10]: 6
__
Why: This is a good defensive programming suggestion that adds error handling to the cd command, preventing the script from continuing in an incorrect directory if the change fails.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Type
Enhancement
Description
Add Python 3.13.5 version support with configuration files
Include batch scripts for Python execution and wheel installation
Update bundle release version to 2025.8.21
Add pywin32 wheel installation for Windows compatibility
Diagram Walkthrough
File Walkthrough
python.bat
Python execution wrapper scriptbin/python3.13.5/bin/python.bat
install.bat
Wheel installation scriptbin/python3.13.5/wheel/install.bat
bearsampp.conf
Python version configurationbin/python3.13.5/bearsampp.conf
wheel.properties
Wheel package propertiesbin/python3.13.5/wheel/wheel.properties
build.properties
Bundle release version updatebuild.properties
releases.properties
Release registry updatereleases.properties