Panda3D v1.10.4 Release Notes

Release Date: 2019-08-19 // 3 months ago
  • 🚀 Read the announcement on our blog, or go straight to the download page for the binary builds.

    🚀 This release fixes a regression with DirectScrolledList in 1.10.3, fixes various other bugs, and introduces a few minor features.

    • 🛠 Fix exception trying to create DirectScrolledList
    • 🛠 Fix flickering in DirectScrolledFrame and other scissor issues (#681)
    • 👍 Experimental support for Python 3.8
    • 👌 Support adding icons to deployed applications
    • Support non-affine (eg. projective) transforms in calc_tight_bounds
    • 👍 Allow setting notify-output after initial import
    • 🛠 Fix macOS issue locating Panda3D using Python 2.7.13+ from python.org
    • 👌 Support for Maya 2019
    • 🏁 On Windows, pip is now installed by the installer (#690)
    • 🛠 Fix Actor.makeSubpart on models with pre-bound animations (#647)
    • Properly interrupt task manager if first task chain raises error (#692)
    • 🛠 Fix return value of encrypt_string in Python 3 (#684)
    • 👌 Support writing loader plug-ins in Python
    • 🛠 Fix reading multiple p3d_TextureMatrix[] values from GLSL shaders
    • 🛠 Fix shader error flag not being set if GLSL compilation failed (#622)
    • ➕ Add NodePath.replace_texture() convenience method
    • 🛠 Fix deadlock when building with SIMPLE_THREADS=1 (#704)
    • 🛠 Fix DirectOptionMenu cancelFrame not working inside scrolled frame (#658)
    • 🛠 Fix assertion when calling analyze() on geometry with strip cut index
    • 👍 Implement fallback in GL renderer when F_sluminance is not supported (#693)
    • Set reasonable limits for sliders in ParticlePanel
    • 🛠 Fix for DirectEntry autoCapitalize feature on Python 3 (#628)
    • 🛠 Fix various DirectGUI items not working before ShowBase is instantiated
    • 🚀 Work around an MSVC compiler bug in the release build
    • PythonUtil.weightedChoice now raises IndexError on empty list
    • 👌 Support changing DirectScrollBar width after initialiation (#699)
    • ↪ Workaround for Bullet deadlock when adding shape to a scaled body (#689)
    • 👌 Support setting DirectEntryScroll entry after initialization (#702)
    • 🛠 Fix some missing imports in directtools (#698)
    • 🛠 Fix undefined behavior issue when using musl-libc
    • ⚡️ Update Eigen in Windows thirdparty packages to 3.3.7
    • 📇 Update metadata of pip wheels

Previous changes from v1.10.3

  • 🛠 This is another bugfix release that addresses a variety of issues in 1.10.2 and further improves the stability.

    🏗 To download binary builds, please visit the download page.

    • 🛠 Fix crash when unplugging certain devices on macOS
    • 🛠 Fix crash on macOS when using RIME input
    • 🛠 Fix logging issues/crashes in apps deployed with Python 2.7
    • 🛠 Fix issues when starting in fullscreen on Linux/X11
    • 🛠 Fix mapping of several gamepads including Trust GXT 24
    • 🛠 Fix Linux crash when no input devices are present
    • 👍 Unbreak support for matrix arrays in vertex data in OpenGL
    • 👍 Allow creating multisample FBO in OpenGL with non-MS host window
    • 👌 Support playing and looping compressed Ogg and WAV audio files
    • 🛠 Fix generation of CollisionBox for transformed geometry in .egg
    • 🛠 Fix Bullet rigid body transform not updating after reparenting
    • 🛠 Fix sporadic color scales with lighting and custom GLSL shader
    • Prevent faulty shaders from shutting down GSG on some drivers
    • 👍 Allow None as either argument to OdeJoint.attach()
    • 🛠 Fix BufferViewer when main window is not opened right away
    • Properly detect extension of pz/gz compressed video/audio files
    • 🛠 Fix for invalid behavior of SparseArray methods to clear bits
    • FilterManager now allows overriding framebuffer properties
    • 🛠 Fix detection of core-only OpenGL profile on some drivers
    • ➕ Add gl-forward-compatible config var for OpenGL context creation
    • ➕ Add paste-emit-keystrokes variable to disable Ctrl+V on Windows
    • 🛠 Fix in-place |= operator on Panda types (such as SparseArray)
    • 🛠 Fix rare FFmpeg "bad src image pointers" errors after seek
    • 🛠 Fix uses of types.InstanceType in some obscure direct functions
    • 🛠 Fix capsule-into-sphere collision test in degenerate case
    • KeyboardButton.ascii_key now also accepts a str character
    • 🛠 Fix errors in various Tkinter DIRECT widgets
    • Expose save_egg_file/save_egg_data functions in Python API
    • Fix assertion error in BoundingBox.set_min_max
    • Fix typo in CollisionTraverser.respect_prev_transform property
    • 🏗 Properly install Python bindings when building FreeBSD installer