Development Builds

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

See other platforms

Recent successful builds for sdk-jammy on branch master

0e2a706ec81950b42b69a7596f8b93b998dcc7d2

View changes - 2024-03-27T11:02:12Z

  • 0e2a706 audio: Fix changing sound time not working on macOS
  • d44f9ae makepanda: Use new dist hooks location introduced by 1f41edd
  • 1f41edd dist: Remove panda3d dependency for global dist hook
  • aa58b4c palettizer: Fix magfilter on KW_mipmap
  • a50b9d8 interval: Fix creating LerpFunctionInterval from partial
  • 237d27d text: Error instead of crash when glyph does not fit into page
  • 38a3048 cppparser: Fix recursion in expanding function macro arguments
  • 8ea2301 pgui: Fix PGEntry::get_cursor_Y()
  • 06e72b5 text: Add docstring for `set_text_color()`
  • c923cf6 cppparser: Perform macro expansion on macro arguments
  • 674c037 cppparser: Trim whitespace around macro arguments
  • c5ab657 cppparser: Improve error messages involving macro expansion
  • 6f6cbf3 Merge branch 'release/1.10.x'
  • 8014799 cppparser: Fix problems with recursive expansion in preprocessor
  • 685b980 cppparser: Skip comments after preprocessor directive
  • 655aa49 putil: Remove outdated TypedWritable template files
  • 40b824b general: Consistently name all bam factory functions make_from_bam
  • d4a3b9b glgsg: Fix docstring typo
  • 91c22a0 pstats: Perf improvement for smooth mode in strip chart with dropped frames
  • 0790242 pstats: optimize method that searches for frame at given time
  • 9fd9e28 pstats: Don't compute frame data for dropped frames
  • f59be2d pstats: Performance optimizations for strip chart
  • f7cca55 pnmimagetypes: Fix double return statement in bmp.h
  • b50ad2e eggprogs: Fix compiler warnings
  • af27a95 Merge branch 'release/1.10.x'
  • 4f7b153 egg-qtess: Fix an unused variable warning
  • c4adc17 display: Fix assorted unreachable code warnings
  • bfe1c95 pgraph: Python wrappers for TransformState getters no longer return reference to temporary
  • 0ce7215 interrogate: Fix typo in code
  • b605e12 tests: Add unit test to check new panda3d.net module
  • 92db184 net: Prepare to split these classes out into panda3d.net module
  • b221b49 CMake: pass full module name to interrogate_module
  • 06b9e3a makepanda: Remove net.py(d) file if present
  • 66367ba makepackage: Unbreak RPM file generation with new pstats.desktop


d9052bae763ac42d0bf1d678be7206b20f7e46f8

View changes - 2024-02-12T10:46:25Z

  • d9052ba mac-stats: fix compile error with STDFLOAT_DOUBLE
  • 09fc5b7 glgsg: Fix regressions with fog shader inputs in GLSL
  • b049c89 ext: Use different names for each gen_next method
  • 3303bac x11: Fix error message when xf86dga extension is not found
  • d8775fa Fix unguarded python-specific headers.
  • 6dc274e Remove .I files from _IGATEEXT.
  • 676a6df pstats: Workaround for Gtk bug that causes UI to crash when a session is closed
  • a9f6e6f pstats: Fix menus not updating in some conditions
  • 7336039 Switch use of Py_INCREF to new Py_NewRef function
  • f1f15a9 task: Fix refcount leak when assigning attribute of task object
  • 4b748d1 dtoolutil: Fix issue compiling interrogate without HAVE_PYTHON
  • 128000b dtoolutil: writelines() should accept any iterable
  • 84ed141 Squash merge webgl-port branch into master
  • b49dbac Report errors if calls to `close()` fail
  • ecc1e30 Merge branch 'release/1.10.x'
  • 0dad38d text: Enable text-use-harfbuzz by default, if compiled in
  • 23772c4 text: Support explicit direction even with harfbuzz disabled
  • ca9b5dd glgsg: Fix for when `p3d_Color` is set to vec4 type
  • 39d964c glgsg: Don't set immutable flag for buffer textures (regression)
  • 8c74919 dgui: Make copy of mutable default value
  • 16afdd2 Prepare installer.nsi for Python 3.13
  • 26ce3ea Update version number to 1.10.15
  • 9517ffb Merge branch 'release/1.10.x'



8e539bd99840da261853c08bc426e0ea43bddd24

View changes - 2024-01-08T13:54:48Z

  • 8e539bd doc: Add release notes for 1.10.14
  • 8765129 makepanda: Add _d suffix to .pyd files in debug mode on Windows
  • c6c7509 interrogate: Reduce generated code, refactor bad args error code
  • e04daec Merge branch 'release/1.10.x'
  • 7926a3a interrogate: Fix some pointless code generation case
  • 37c9e58 interrogate: Fix handling of RF_self / inplace binary operator
  • 46e662b interrogate: Add cleverness to avoid writing out dead code
  • 6bbba13 pipeline: Fix `Thread::bind_thread()` regression
  • 384a0d1 recorder: fix reading multiple recorders from bam file
  • 9145b6c Merge branch 'release/1.10.x'
  • 6b3dfc7 pgraph: add note to LensNode::is_in_view docstring about CS
  • 25b8504 egg-palettize: fix writing Magfilter
  • 7277199 windisplay: fix handling of invalid devices, replaced 0 with nullptr
  • 1c4a918 grutil: Change docstring for MeshDrawer link_segment method
  • be958c4 recorder: Fix error reading multiple recorders from .bam file
  • 4f37d97 glgsg: Show internal format in debug output
  • 0cc3f8f dist: Fix error when using bam_model_extensions with bdist_apps
  • 8970127 gles2gsg: Fix image load/store support in OpenGL ES 3.1
  • deb24af display: properly prioritize preferred pipe
  • 3097d26 bullet: Fix deadlock when contact added callback accesses certain data or executes bullet methods
  • f9a86bc device: fix small typo, fixes 1571 (#1572)
  • e3ea397 workflow: Delete clang-tidy workflows for now
  • 4c2581a pgui: Add more property-style accessors (#1552)
  • 1a3ee2b tinydisplay: Fix build when no platform display module is enabled
  • 20a2b26 cocoa: Support EDR windows with float framebuffer
  • edf4b7d tests: Also skip Cg unit tests on arm64 reporting as aarch64
  • b7fa25f assimp: Disable loading .glb and .gltf via Assimp by default
  • 3833a35 Merge branch 'release/1.10.x'
  • 0121e74 assimp: Add assimp-disable-extensions config var (for #1537)
  • b4e8cf6 dist: Fix crash running deploy-stub on arm64 with 16 KiB pages
  • 2539de1 wxwidgets: Fix some issues with WxSlider, code cleanup
  • 4bdf853 tests: Don't expect mypy to be on the system PATH
  • 62203fb contrib: Remove temp-hpr-fix from contrib/sceneeditor
  • 0380a60 tests: Fix mypy test (#1551)
  • 0a7afb3 wgldisplay: Fix HDR framebuffers with newer NVIDIA drivers
  • 7c3e660 display: make refresh_rate float, deprecate get_display_mode_xyz
  • a52744a cocoa: Improvements to VSync implementation:
  • 034f1ea patomic: Implement futexes on macOS using ulock API
  • eec66c5 display: Add method for querying current display mode index
  • 78f8e1e test_wheel: Update set of packages to install with pip
  • 84020d4 Require pytest >= 3.9.0 (due to use of `tmp_path`)
  • 2774600 Merge branch 'release/1.10.x'
  • 02e6487 dist: Fix odd FreezeTool.addModule behavior with empty text
  • 26fae21 showbase: Suppress deprecation warning
  • 3059f8f tests: Add site.py file for deploy-stub test
  • cb7f25f tests: Fix an issue running tests with some Python 3.4 setups
  • 4797744 tests: Compat w/ older pytest by using tmpdir instead of tmp_path
  • a0ea85d test_wheel: Put python DLL on system PATH for FreezeTool unit test
  • 00c6bee Add Python 3.12 to setup.cfg
  • ab0c177 showbase: Fix redundant call to `entry_points()` in Loader
  • 36bcfe7 dist: Switch build_apps from pkg_resources to importlib.metadata
  • 39e4e41 CMake: Switch use of distutils.sysconfig to sysconfig in Python 3.12
  • c48fcba CMake: build tinydisplay using CMake
  • a6ab238 Merge branch 'release/1.10.x' into incoming
  • 5e4fc79 Switch to 1.10.14 thirdparties, enable Python 3.12 CI on Windows
  • 1db6dbc tests: Don't cache loaded test model
  • 476374b tests: Don't run tkpanels.Placer test without Tk already inited
  • 87e69b7 workflow: Add `$pythonLocation/lib` to LD_LIBRARY_PATH for tests
  • 9dce403 tinydisplay: fix missing include in zmath.h
  • f9c213f tests: Run runtime executable generated by FreezeTool test
  • b2465c3 tests: Fix running tests on Windows and with Python 2.7
  • d368fac pstats: Update macOS timeline view to show more of collector name
  • 10110cb CMake: Build PStats port for macOS
  • 98330b5 Add setuptools to requirements-test.txt
  • 972c000 workflow: Add setuptools as requirement when testing Python 3.12
  • c1c035d showbase: Switch Loader entry point detection to importlib.metadata
  • c77697a pytest: Don't skip "dist" directory in test discovery
  • f24a18f tests: Add unit test for `Freezer.generateRuntimeFromStub`
  • 6f89b8e makepanda: Remove stray distutils import
  • e627c7c particles: Fix deprecation warning
  • 5b04147 glgsg: Fix wrong value for deprecated shadowMatrix shader input
  • e01cb59 Merge branch 'release/1.10.x'
  • c45e14a interrogatedb: Switch T_OBJECT to T_OBJECT_EX for this_metatype
  • 098fe63 task: Annotate core functions (#1548)
  • bf456ba workflow: Skip Python 3.12 tests on Windows for now
  • e473819 pfreeze: use clang, fix missing path with non-system Python on macOS
  • 2a5228b Fix compatibility with Python 3.12 by removing use of imp module
  • 7f0eafc workflow: Disable Python 3.7 CI, enable Python 3.12 CI
  • 225b577 tests: Skip Cg tests on arm64 machines
  • 893f5ce Fix assert on Py_SIZE(long) when using Python 3.12
  • 521cad2 makepanda: Stop using deprecated distutils (#1549)
  • ad88821 Panda3DToolsGUI: Update setup.py to use setuptools and change Print statements to Python3 syntax
  • 5685949 shader: Fix regression fetching material shader inputs
  • 79a6068 pnmimage: Support reading of .bmp files with RLE8 compression
  • c00f3b1 direct: More reduction of reliance on builtins, mypy fixes
  • 3922800 tkpanels: Fix error running with Python 3.8
  • b6eee10 direct: Reduce dependence on builtins, satisfy mypy a bit more
  • ae3cbe4 cocoadisplay: Add support for high-dpi screens (#1308)
  • e55bb94 Added missing control message types
  • f7718b4 direct: Fix assorted issues when using mypyc
  • ef25b67 interval: Remove unrunnable IntervalTest module
  • b8ea788 display: Fix shadowViewMatrix regression for NodePath shader inputs
  • 93a75d8 Merge branch 'release/1.10.x'
  • d5263b5 makepanda: Strip version suffixes when parsing setup.cfg metadata
  • a2fa54f gobj: fix `_contexts != nullptr` assert when prepare fails
  • dcc96a6 makepanda: Make version parsing in CreatePandaVersionFiles more robust
  • ae4151c showbase: Fix import of Loader if AudioLoadRequest is not available
  • 86aa437 dtoolbase: Fix static init ordering regression
  • 1ca0e3f directnotify: annotate types (#1527)
  • 526994c pview: Don't require a window in screenshot mode
  • e5869ac pview: Fix camera positioning differences with offscreen window
  • b99b3dc directnotify: Fix invalid syntax
  • c63a92b directnotify: Fix RotatingLog filePath error when sizeLimit is None
  • 2c72794 glgsg: Fix code issue with new integer ShaderMatSpec
  • cb4597e shader: Pass built-in array shader input in one go
  • ba388e2 shader: More efficient state-based shader input fetching
  • c99fe58 Merge branch 'release/1.10.x'
  • 27daecf Add .DS_Store to .gitignore
  • 8596207 directnotify: Don't assume presence of softspace attribute
  • 144479d cocoa: squelch secure restorable state warning on macOS 14