Fix macOS crash, upgrade deps for Python 3.14, reduce bundle size#900
Open
usqr wants to merge 14 commits intofman-users:mainfrom
Open
Fix macOS crash, upgrade deps for Python 3.14, reduce bundle size#900usqr wants to merge 14 commits intofman-users:mainfrom
usqr wants to merge 14 commits intofman-users:mainfrom
Conversation
pyobjc-core 7.1 (built for CPython 3.6) crashes in PyObjCClass_NewMetaClass when loading Objective-C classes on macOS 26.3.1 under Rosetta. Version 10.3.1 has native Apple Silicon support and modern macOS compatibility. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
PyInstaller 4.4 -> 6.11.1 (EOL fix) rsa 3.4.2 -> 4.9 (security) boto3 1.17.26 -> 1.35.99 (3 years of fixes) requests 2.25.1 -> 2.32.3 (security patches) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
PyQt5 5.15.4 -> 5.15.11 (align with base) Send2Trash 1.4.2 -> 1.8.3 pywinpty 0.5.7 (wheel) -> 2.0.14 (PyPI) pywin32 300 -> 308 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Send2Trash 1.5.0 -> 1.8.3 distro 1.0.4 -> 1.9.0 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Python 3.9 is the minimum version. Remove unnecessary try/except for Path.resolve(strict=True) and update version references in comments. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…14 compat PyInstaller 6.11.1 requires Python <3.14; 6.19.0 supports 3.14. pyobjc-core 10.3.1 uses pkg_resources (removed in 3.14); 12.1 works. Also fix fbs egg fragment syntax for modern pip (PEP 440 Direct URL). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
traceback._some_str was a private function removed in Python 3.14. Replace with inline safe-str conversion (try/except). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
\F in the docstring is not a valid escape sequence and will become an error in a future Python version. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
traceback._some_str was a private function removed in Python 3.14. Also refactor TracebackExceptionWithTbFilter to call super().__init__() instead of reimplementing it, fixing exc_type read-only property and missing exceptions attribute in Python 3.14. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
PyInstaller 6.x sets sys._MEIPASS to Contents/Frameworks, not Contents/MacOS. Move osxtrash .so there so it's importable at runtime. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Python 3.14 removed implicit float-to-int conversion in C extensions. QSize, QPoint, and setPointSize now reject float arguments. Cast CSS-derived values to int explicitly. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
loadBundle('CoreServices.framework') takes ~800ms on first call with
pyobjc-core 12.1. Cache the namespace in LocalFileSystem so subsequent
GoTo queries don't re-load the framework. Also pre-warm the framework
in a background thread at app startup.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove boto3/botocore/s3transfer (build-only, not runtime: ~40MB). Remove unused Qt frameworks: QtQml, QtQmlModels, QtQuick, QtWebSockets. Remove unused Qt plugins: webgl, minimal, offscreen, bearer, generic, platformthemes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Update Python version requirement (3.9+, tested to 3.14), add per-platform install commands and key dependencies table. Add CHANGELOG documenting all fixes and dependency upgrades. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
_some_str, read-onlyexc_type), implicit float-to-int conversions rejected by PyQt5CoreServices.frameworkloadingTest plan
python build.py test— 461 tests, 459 pass (2 pre-existing zip ordering failures)python build.py run— app launches, no crashpython build.py freeze— frozenfman.appbuilds and launches🤖 Generated with Claude Code