This is a maintenance release containing primarily bug fixes. As such, it is not expected to contain regressions or backward-incompatible changes, and it is a recommended upgrade for all users who are on lower versions. Head to the download page to get the latest binaries, or upgrade using pip install -U panda3d
for installations that were done using pip.
Windowing
- Windows: Fix origin not respected when switching to windowed mode
- macOS: Fix origin not being updated when resizing window (#1312)
- macOS: Fix off-by-one errors with mouse cursor position (#1317)
- macOS: Fix issues with confined mouse mode (#1317)
- macOS: Fix events being suppressed when moving the mouse pointer (#1317)
- macOS: Invert horizontal scroll, set
cocoa-invert-wheel-x true
to revert
Rendering
- Add
shadow-cube-map-filter
setting to enable cube map shadow filtering (#1332) - Support floating-point FBOs in OpenGL ES 2+
- Fix texture format selection in OpenGL with T_half_float component type
- Added
egl-device-index
config var to select EGL device (#1306) - Offscreen windows in tinydisplay renderer are now resizeable (#1322)
- CommonFilters now supports alternative coordinate systems (#1289)
- Fix BufferViewer frame when using a different coordinate system
Deployment
- Fix _bootlocale error in deployed application on Windows with Python 3.10
- Include _sysconfigdata module properly when using sysconfig module (#1326)
- Fix building deploy-stub on platforms that use DT_RUNPATH instead of DT_RPATH (#1358)
sys.flags.optimize
is now set to 2 in Python 3.2 and above- Fix import errors when using scipy
Miscellaneous
Texture::get_ram_image_as()
fixed for 3D textures (#1277)- Fix PStats GPU timing not working with newer NVIDIA drivers (#1320)
- Fix false negative in collision test when sphere is fully inside box (#1335)
- Resolve segmentation fault when statically linking ffmpeg module (#1340)
- Fix issue with failed mmap when using WebcamVideo on Linux (#1299)
- macOS: Keyboard/mouse devices are no longer enumerated by default
- Fix repr of LPlane class (#1248)
- Remove dependency on ShowBase in FilterManager (#1302)
- Many new functions added to interrogatedb module to query additional info
- Interrogate no longer writes wrappers with rvalue references to interrogatedb
- PStats on Linux: Fix mouse motion detected outside strip chart graph area
- Fix assertion when reading bam file with Bullet convex hull shape (#1251)
- Fix memory leak when specifying owner of a task (#1328)
- Add additional helpful debug/spam prints to display code
Build
- Support building with Python 3.11
- Support building with OpenSSL 1.1.1 on Windows
- Support building with OpenEXR 3.0 or 3.1 on Windows
- Fix errors when compiling Panda headers with MinGW
- Allow compiling Panda headers on Windows without NOMINMAX set
- Fix wheel platform tag on manylinux aarch64
- Experimentally allow building with mimalloc on Windows
- Makepanda records cache timestamps as integers instead of floats
- Makepanda can now also build tinydisplay on Linux without X11 (#1288)
- Fix naming of built wheels when building for macOS 12