Warning: Here be dragons!
This page contains unstable and untested development builds of Panda3D. These builds may contain bugs and may crash unexpectedly. Click here to go back to the list of stable versions of Panda3D.
master branch
The easiest way to install the latest development build is with pip:
pip install -U --pre --extra-index-url https://archive.panda3d.org/ panda3d
Recent successful builds for windows on branch master
5747b624815bcdf3aa9c37adf7a15cb3479557e9
- Panda3D-SDK-1.11.0pre-5747b62-x64-pdb.7z
- Panda3D-SDK-1.11.0pre-5747b62-x64.exe
- panda3d-1.11.0.dev3985-cp310-cp310-win_amd64.whl
- panda3d-1.11.0.dev3985-cp311-cp311-win_amd64.whl
- panda3d-1.11.0.dev3985-cp312-cp312-win_amd64.whl
- panda3d-1.11.0.dev3985-cp313-cp313-win_amd64.whl
- panda3d-1.11.0.dev3985-cp313-cp313t-win_amd64.whl
- panda3d-1.11.0.dev3985-cp314-cp314-win_amd64.whl
- panda3d-1.11.0.dev3985-cp314-cp314t-win_amd64.whl
- panda3d-1.11.0.dev3985-cp38-cp38-win_amd64.whl
- panda3d-1.11.0.dev3985-cp39-cp39-win_amd64.whl
View changes - 2026-02-03T11:48:21Z
- 5747b62 tests: Make comments test more lenient on Windows
- f447289 ci: Update to 1.10.16 thirdparties
- ecf648b tests: Fix audio load test when ffmpeg isn't compiled-in
- d59414b makepanda: Add avrt.lib to OpenAL build
- 2491658 CMake: Fix warning about TIFF_ROOT using wrong case
- 5edad2f cocoagl: Enable support for headless rendering
- 578c4da cocoa: Fail gracefully when opening window without available screen
- 986cf09 workflow: Re-enable macos-coverage-unity-xcode builder
- 8e7c6d2 Fix various cases of UB due to use of &vec[0] on empty vector
- 4cb799b workflow: Use software GL implementation to run Ubuntu unit tests
- d237037 CMake: build p3headlessgl display module
- bddd9e1 pgraph: Fix test_glsl_param_vec4 test in double-precision build
- 7b8b575 loader: Fix crash when loading bam not headed by ModelRoot
- b534405 mathutil: Fix compiler warning due to typo in comparison
- 252c0a6 display: Make context current before dispatching compute shader
- 74360cc tests: Add unit tests for color blending
- 87c8aa8 glgsg: Robustness and issue fixing around shader binding
- a450806 tests: Use triangle instead of card for color buffer tests
- dbe05e0 tinydisplay: Reimplement color blending, supporting more options
- b7ffef7 pgraph: Fix ColorBlendAttrib alpha settings not hashed/compared
- 712d674 tinydisplay: Convert Python scripts to Python 3
- 08454e3 tests: Fix shadowViewMatrix components for light source unit test
- 95875d9 tests: Skip GLSL compilation tests when GLSL not supported
- ce23327 tests: Fix proper argument for pytest cache disabling on Android
- 86423cb workflow: Update to Ubuntu 24.04
- 68c807b glgsg: Don't query supported Cg profiles when running under EGL
- f139899 tests: Fix depth buffer tests not being run with tinydisplay
- df7aa55 tinydisplay: Support DepthBiasAttrib (const offset only)
- c0bf7e0 leveleditor: Fix use of removed imp module (untested)
- c1a2458 tinydisplay: Fix assorted depth-related issues:
- 300090e glgsg: Disable Cg support when using EGL instead of GLX
- f2c680c linmath: Fix wrong type printed in LMatrix3 repr
- 8bbc1a1 loader: Restore compatibility with Python 3.8
- 99bbc14 loader: Fix incomplete loadModel/loadSound type annotations
- d84b984 showbase: Fix exception when calling Ctrl+C at the wrong moment
- 8cd3812 glgsg: Track uploaded byte count in PStats for SSBO updates
- 1c8a5cf audio: AudioLoadRequest should take Filename or MovieAudio
- 051268d workflow: Fix very minor formatting issue in coverage summary
- 4f5a374 workflow: Show coverage result in GitHub step summary
- b9af71d workflow: Enable address sanitizer for various CMake builds
- b963450 CMake: Add ENABLE_ASAN options to build with address sanitizer
- ebb556a CMake: build unit test runner
- c2760c8 putil: Fix out-of-bounds read in SparseArray uncovered by ASan
- 0210384 dtoolbase: Fix static destructor ordering issue
- 48215de tests: When running in GitHub Actions, write GFM tests summary
- 4b98910 Use static storage instead of heap for forever-objects (squelches ASan)
- 4995534 grutil: Add muted/volume properties to HTMLVideoTexture
- 626e419 x11: Fix various very minor memory leaks
- 9edbdbf glgsg: Fix mipmap level depth when uploading 3D textures
- 004a3c8 Update mentions of LambdaTest in sponsors list
- 9afb314 glgsg: Don't assume buffer clear is necessarily supported
- 71b83d8 makepanda: Add /usr/local/lib64 to searched library paths
- 2587247 audio: Ability to read comments/metadata from sound files (#1656)
- f025ba5 glgsg: Fix compilation error, remove redundant parameter
- 576d124 glgsg: Support SSBO clear, assorted fixes
- 5c1a957 gles2gsg: Add some missing OpenGL ES 3 constants
- 0b3bdae glgsg: Expose native IDs for other kinds of resources than textures
- d94b2dc glgsg: Fix INLINE keyword on GLSamplerContext constructor
- 586b92a makepanda: fix for python >= 3.13 on android
- 5a82ac3 Use PyObject_Vectorcall for calls to Python for better efficiency
- 8fe8862 dtoolbase: The default pvector constructor shouldn't be explicit
- 0753530 gobj: Fix some int signedness comparison warnings
- b3ac6e7 gobj: Fix warnings due to GCC being terrible at static analysis
- b630e14 py_compat: Add vectorcall functions
- 8080651 express: Make PTA init from Python sequence faster by using vectorcall
- 0bb8a45 Use PyObject_CallOneArg instead of PyObject_CallFunctionObjArgs for perf
- f958fdc interval: fix Python callable inputs not called in ET_instant mode
- 3c852c8 audio: Disable OpenAL hrtf by default, fixes macOS init crash
136e1279eaf13a2756648818e10f49b8b3621bdd
- Panda3D-SDK-1.11.0pre-136e127-x64-pdb.7z
- Panda3D-SDK-1.11.0pre-136e127-x64.exe
- panda3d-1.11.0.dev3917-cp310-cp310-win_amd64.whl
- panda3d-1.11.0.dev3917-cp311-cp311-win_amd64.whl
- panda3d-1.11.0.dev3917-cp312-cp312-win_amd64.whl
- panda3d-1.11.0.dev3917-cp313-cp313-win_amd64.whl
- panda3d-1.11.0.dev3917-cp313-cp313t-win_amd64.whl
- panda3d-1.11.0.dev3917-cp314-cp314-win_amd64.whl
- panda3d-1.11.0.dev3917-cp314-cp314t-win_amd64.whl
- panda3d-1.11.0.dev3917-cp38-cp38-win_amd64.whl
- panda3d-1.11.0.dev3917-cp39-cp39-win_amd64.whl
View changes - 2026-01-01T00:02:40Z
- 136e127 Implement ShaderBuffer async extract_data method
- cb03554 putil: Support vector_uchar to be passed to an event parameter
- c688b67 putil: Add missing pointerTo.h include to callbackObject.h
- a9aa255 glgsg: Support updating SSBO data from the CPU (only UH_dynamic)
- af498ff gsg: Use DSA for extracting shader buffer data
- 86b1304 display: Support extracting only subset of SSBO
- b806035 putil: Switch to new Python 3.13+ public long APIs for BitArray
- 02bd388 build: Update to interrogate 0.8.1
- 3d3c2e7 text: Give default font a default name
- b4b1872 dtoolutil: Improve error messages for iostream wrappers
- 52829ed workflow: Disable OpenAL on macOS for now for test build
- 97de786 direct: Fix DirectGrid alpha issue and getVertexColor error (#1793)
- 585c581 movies: Update FLAC decoder
- e918eff makepanda: Set default MSVC version to 14.3 (2022)
- c54c908 Merge branch 'release/1.10.x'
e560eb8da370d86b096d6cb65eafd9ab40879b9a
- Panda3D-SDK-1.10.16-pdb.zip
- Panda3D-SDK-1.10.16-x64-pdb.zip
- Panda3D-SDK-1.10.16-x64.exe
- Panda3D-SDK-1.10.16.exe
- panda3d-1.10.16-cp27-cp27m-win32.whl
- panda3d-1.10.16-cp27-cp27m-win_amd64.whl
- panda3d-1.10.16-cp310-cp310-win32.whl
- panda3d-1.10.16-cp310-cp310-win_amd64.whl
- panda3d-1.10.16-cp311-cp311-win32.whl
- panda3d-1.10.16-cp311-cp311-win_amd64.whl
- panda3d-1.10.16-cp312-cp312-win32.whl
- panda3d-1.10.16-cp312-cp312-win_amd64.whl
- panda3d-1.10.16-cp313-cp313-win32.whl
- panda3d-1.10.16-cp313-cp313-win_amd64.whl
- panda3d-1.10.16-cp313-cp313t-win32.whl
- panda3d-1.10.16-cp313-cp313t-win_amd64.whl
- panda3d-1.10.16-cp314-cp314-win32.whl
- panda3d-1.10.16-cp314-cp314-win_amd64.whl
- panda3d-1.10.16-cp314-cp314t-win32.whl
- panda3d-1.10.16-cp314-cp314t-win_amd64.whl
- panda3d-1.10.16-cp34-cp34m-win32.whl
- panda3d-1.10.16-cp34-cp34m-win_amd64.whl
- panda3d-1.10.16-cp35-cp35m-win32.whl
- panda3d-1.10.16-cp35-cp35m-win_amd64.whl
- panda3d-1.10.16-cp36-cp36m-win32.whl
- panda3d-1.10.16-cp36-cp36m-win_amd64.whl
- panda3d-1.10.16-cp37-cp37m-win32.whl
- panda3d-1.10.16-cp37-cp37m-win_amd64.whl
- panda3d-1.10.16-cp38-cp38-win32.whl
- panda3d-1.10.16-cp38-cp38-win_amd64.whl
- panda3d-1.10.16-cp39-cp39-win32.whl
- panda3d-1.10.16-cp39-cp39-win_amd64.whl
View changes - 2025-12-25T15:40:30Z
- e560eb8 Add Python 3.14 to setup.cfg
- 4732c24 workflow: Add Python 3.14 to test matrix
- 9f13db3 Update version numbers from 1.10.15 to 1.10.16
- c6e72fb makepanda: Don't set HAVE_OPENAL_FRAMEWORK when building with thirdparty
- 12b5faf tests: Fix future tests always failing on Python pre-3.5
- 8177021 tests: Fix unit test suite on Python 2.7
- 225eb9b glgsg: Mark SSBO unbound from all binding points upon deletion
86d0376054173b993a3d329a36fb7e994a12b880
- Panda3D-SDK-1.11.0pre-86d0376-x64.exe
- panda3d-1.11.0.dev3895-cp310-cp310-win_amd64.whl
- panda3d-1.11.0.dev3895-cp311-cp311-win_amd64.whl
- panda3d-1.11.0.dev3895-cp312-cp312-win_amd64.whl
- panda3d-1.11.0.dev3895-cp313-cp313-win_amd64.whl
- panda3d-1.11.0.dev3895-cp313-cp313t-win_amd64.whl
- panda3d-1.11.0.dev3895-cp314-cp314-win_amd64.whl
- panda3d-1.11.0.dev3895-cp314-cp314t-win_amd64.whl
- panda3d-1.11.0.dev3895-cp38-cp38-win_amd64.whl
- panda3d-1.11.0.dev3895-cp39-cp39-win_amd64.whl
View changes - 2025-12-22T21:20:57Z
- 86d0376 glgsg: Mark SSBO unbound from all binding points upon deletion
14b8cd74c25f08ec6b3614315d1c73a047d41347
- Panda3D-SDK-1.11.0pre-14b8cd7-x64.exe
- panda3d-1.11.0.dev3894-cp310-cp310-win_amd64.whl
- panda3d-1.11.0.dev3894-cp311-cp311-win_amd64.whl
- panda3d-1.11.0.dev3894-cp312-cp312-win_amd64.whl
- panda3d-1.11.0.dev3894-cp313-cp313-win_amd64.whl
- panda3d-1.11.0.dev3894-cp313-cp313t-win_amd64.whl
- panda3d-1.11.0.dev3894-cp314-cp314-win_amd64.whl
- panda3d-1.11.0.dev3894-cp314-cp314t-win_amd64.whl
- panda3d-1.11.0.dev3894-cp38-cp38-win_amd64.whl
- panda3d-1.11.0.dev3894-cp39-cp39-win_amd64.whl
View changes - 2025-12-22T15:16:31Z
- 14b8cd7 tests: Fix GLSL shadow matrix unit test values
- 0e41b62 Merge branch 'release/1.10.x'
- f123cb1 shader: Fix memory corruption with matrix array shader inputs
- 64b98ea GLSL: Add p3d_MetallicRoughnessTexture input mapped to M_metallic_roughness
- 975a9fb egg: Add limited forward compatibility for ORM textures
- e319be1 doc: Add release notes for 1.10.16
- 33888de glgsg: Do not prefer depth-stencil ms renderbuffers on macOS
- b09ebf3 makewheel: Exclude some more system libs
- 40ecb01 samples: Remove unused CardMaker import from procedural-cube sample
- 6b3ed01 framework: Clean up task manager on close_framework()
- cbd25a4 makepanda: Don't look for macOS framework when cross-compiling
- d020b25 windisplay: Fix recursive loop in adjust_z_order
- c8c5ae8 putil: Fix SparseArray get_lowest_on_bit and get_lowest_off_bit
- df4ebca audiotraits: Add support for different coordinate systems for 3d audio
- 04e5cbe Add support for (occlusion-)metallic-roughness textures
- 5d8af37 makepanda: Only add -msse2 when building for x86 platforms
- bd1105d directnotify: Add snake_case versions of methods
- 2759fb9 build: Allow to build for riscv64
- 5b2cb98 dist: Add hidden import for jnius
- 6ada507 dist: Add linecache stubs for newer versions of Python
- 784f32d showbase: add user_exit alias for userExit
- f24bcf9 ode: Add set_first_contact and set_backface_cull to OdeRayGeom
- 5f75553 makepanda: Remove reference to deprecated AGL framework on macOS
- 6acdcc5 patomic: Fix support for macOS pre-10.12
- 4705b32 audiotraits: Add support for different coordinate systems for 3d audio
- 55e9d3d build(deps): bump actions/cache from 4 to 5
- 12facf4 x11: Set x-detectable-auto-repeat to true by default
- ea55924 android: Fix assorted compatibility issues with plyer/pyjnius
- ba6b66f android: Fix crash when setting window title on wrong thread
- 8fb23c5 dist: Fix inability to pick up nested hidden modules
- d6da196 dist: Add linecache stubs for newer versions of Python
- 8d25975 dist: Add hidden import for jnius
- f4ee950 deploy-stub: Fix missing time.h include
- 6a77fc6 dist: Update macOS target for Python 3.14 to 10.15
- 03873c7 Update Windows thirdparty tools to 1.10.16
- 8ece2c8 Update BACKERS.md from latest master
- 2ecbd54 installer: Add Python 3.15
- c32d514 dist: Gracefully skip accidentally included Python .egg archives
- 1cfa61b showbase: Temporarily add back throw_new_frame
- a32d743 Changed unsigned int to signed int for resync in DistributedSmoothNode. (#1162)
- 7ef2f06 Add a pandatool for converting various image formats to the TXO format. (#1740)
- f91e5df build(deps): bump actions/checkout from 5 to 6
- 227a9e3 workflow: Update from deprecated macOS 13 runner to macOS 14
- 2c9997e x11: Remove methods added erroneously during bad merge
- a01e039 x11: Add function for detecting auto repeat key events (#1735)
- 23782ec task: Also check for subclasses of coroutine
- fd5258f makepanda: Skip building TinyOsxGraphicsWindow when building 64-bit
- 56cdea1 pgui: Fix bugs with pgSliderBar dragging
- 062e336 directgui: Add default release sounds for buttons
- 429af9a putil: Add method to clear BamCache on disk (#1774)
- 7c7f092 android: Robustify blob mapping
- 72fc5e1 android: Remove unused include
- 382078c android: Fix strange compilation error on 32-bit Android
- 325727e deploy-stub: Add flag for enabling verbose mode in Python
- e809c9e android: Complete support for android:extractNativeLibs=false
- 598106c dist: Show error for mismatching build_apps/wheel
- 3d1b897 android: Work on supporting extractNativeLibs:false, separate blob
- 4763ddb dist: Neatly indent AndroidManifest.xml
- 8a23014 android: Set Activity title to window title
- 32bdca9 android: Work on API level 36 support (though target 35 for now)
- 27d905f workflow: Add Android build to CI matrix
- d1aeef5 makepanda: Remove -m32 and -m64 flags for Android
- bba3928 workflow: Set XCode version to 16
- 1047728 tests: Support running test suite from adb shell
- 90ca53a android: Fixes to allow Panda to run from the adb shell
- e9fddf6 makepanda: Use correct .so suffix on Android
- e524dc9 dtoolbase: Apply pvector libc++ workaround across the board
- db27278 distributed: Fix for importing CR without OpenSSL compiled-in
- 5c70817 workflow: Update to macOS 15
- 418d041 pipeline: Fixes for fragile TLS implementation on Android
- 1ea0ea6 dist: Fix for gui_apps with spaces in name on Android
- ec9a7d1 dist: Check provided AndroidManifest.xml file for basic sanity
- 4a7e528 express: Fix compiler warning on Android
- cbbd3ed pandatool: Make WindowsGuid class trivially copyable
- a40e8f9 android: Fix incorrect usage of ALooper_pollOnce
- 42ae007 dist: Target latest Android API level
- f848776 dist: Update Android protobuf files
- 53a6d5d readme: Add sponsor logos
- cc5eaa8 Add LambdaTest to BACKERS.md
- fdf67ad dist: Allow passing in custom AndroidManifest.xml
- ce31e41 dtoolbase: Work around macOS compiler bug with empty vector
- 9df9409 cocoadisplay: Fix some DPI handling issues on resize
- ba717b0 display: Fix compile warning
- bd76aba audiotraits: fix compile warning on macOS
- e83150f makepanda: Add more supported macOS SDKs, print used version
- c2ab647 mac-stats: Widen strip chart sidebar to make smooth button fit on Tahoe
- c352e92 dtoolbase: Fix out-of-bounds access in pdtoa.cxx
- 867f174 dtoolbase: Fix out-of-bounds access in pdtoa.cxx
- 5006f92 build: Update to interrogate v0.7.1
- 983c88e tests: Make threading tests conditional upon thread support
- 5779382 glgsg: Fix crash if task chain was destroyed before GSG
- 93a1da8 direct: Remove throw_new_frame from libp3showbase (see #1014)
- 14c4a9a direct: Move particlePath definition to Python (see #1014)
- e415457 glstuff: Fix a wrong docstring
- 97b3c18 express: Fix build with older OpenSSL versions
- b7fb4af tests: Fix test run with OpenSSL disabled
- 25ef611 express: Update SHA256 code in ZipArchive for OpenSSL v3
- 5f9bb65 make-prc-key: Update deprecated API use for OpenSSL v3
- f40e611 parser-inc: Add some missing headers
- 6ac2164 notify: Print out C++ backtrace on assert-abort
- 2540648 nativenet: Change deprecated sprintf to snprintf
- 77fa04a glgsg: Fix typo causing SSBO support not always detected
- e68a3db glgsg: Fix typo causing SSBO support not always detected
