π This is a recommended bugfix release, especially for macOS users.
π Read the announcement on our blog, or go straight to the download page for the binary builds.
- π Fix DPI scaling issue in macOS 10.15 "Catalina" (#794)
- π Fix crash on macOS Catalina without "Input Monitoring" permission (#795)
- π macOS installer now installs to /Library/Developer/Panda3D (#760)
- π macOS thirdparty packages are now linked with libc++ (#584)
- Homebrew Python should now locate Panda libraries correctly (#755)
- π Work around Tk bug cancelling Load Params in Particle Panel on macOS (#811)
- π Fix NaN assertions when particles get very large positions (#822)
- β Add support for Autodesk Maya 2020
- π Fix maya2egg erroring when running from a pip installation (#709)
- π Support DualShock 4 (2nd gen) controller on Windows
- π Support .pz and .gz compressed models in deployment system
- π Support implicit namespace packages in deployment system (#778)
- π Fix issues when using CEF Python on macOS with deployment system
- π Fix deployment system issues reading .pyc files in some Python versions
- π Fix error with distutils package when deploying in a "virtualenv" env (#747)
- π Fix "NameError: name 'mdef' is not defined" error when deploying (#721)
- Deployment system now strips weird -psn_* argument passed to macOS GUI apps
- π Fix custom loader hooks sometimes not working with Actor (#750)
- Fix defaults for package_data_dirs in deployment system (#779)
- π Fix issues with adding icons to deployed executable (#718)
- β Add PNMImage.quantize() that palettizes using median cut algorithm
- π Fix stereo and MRT FBO rendering in OpenGL ES (#815)
- RTM_copy_ram mode is now fixed for multiview textures in OpenGL
- π Fix OpenGL multisample FBO issue with 16-bit float buffer (#756)
- π Fix DirectX 9 crash when resizing vertex buffer in certain ways (#824)
- βͺ Workaround for infinite loop in Triangulator for certain polygons (#737)
- π Fix dcparser issue with unpacking uint64 and int64 (#751)
- π Fix ability to compile dcparser outside of the Panda3D codebase (#759)
- π Fix all direct.stdpy.threading2 threads behaving daemonically (#758)
- direct.stdpy.threading2.Thread instances provide daemon and name properties
- π Workaround for Tkinter crash on Windows when resizing window (#586)
- π Fix possible stack overflow when reading many bytes from a stream (#754)
- π Fix mouse confinement region on Windows not updating on window resize (#727)
- π Fix mouse confinement being lost on Windows when window loses focus (#729)
- π Support adjusting particle birth offset time (#769)
- π Support building against OpenEXR 2.4 on Windows (#799)
- π Fix ability to pass a tuple to loader.loadModel
- π Fix an issue in interrogate with generating C bindings (#722)
- π Fix a variety of ABI compatibility issues with NDEBUG builds
- π Fix static linking of harfbuzz and freetype in makepanda
- π Fix ability to specify
--python-incdir and -libdir to makepanda on macOS
ls() and bam-info -ls now list included animations
- π Fix white ambient color when loading PBR materials from .bam/cache (#828)
- π Fix inconsistent behavior when passing small values to shader inputs (#827)
- π Fix very rare NVIDIA driver crash when mixing GLSL and Cg shaders
- π Fix issue passing unicode to DirectScrolledList (#752)
- π Fix interrogate parser issue with function-like macro expansion
- Interrogate now finds types nested in explicitly specialized template class
- π Improve performance reading all data from a file with direct.stdpy.file
- π PandaSystem now records whether libc++ or libstdc++ was used on macOS
- π makepanda.bat now builds against Python 3.7 by default
- π Many improvements to API documentation
- π
pandac/input/*.in interrogatedb files are now included in .whl builds
- π Fix division exception in ServerRepository (#762)
- π Fix ShaderBuffer contexts not being cleared at GSG destruction
- π Fix DirectOptionMenu item text scale reset on item unhighlight (#768)
- Python particle classes now have snake-case aliases
- π Fix crash printing out cached buffer contexts
- Rudimentary, experimental, low-level handling of digitizer input devices