diff --git a/README.md b/README.md index 2f474e6c64..d6468943c6 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Installing Panda3D ================== The latest Panda3D SDK can be downloaded from -[this page](https://www.panda3d.org/download/sdk-1-10-13/). +[this page](https://www.panda3d.org/download/sdk-1-10-14/). If you are familiar with installing Python packages, you can use the following command: diff --git a/doc/ReleaseNotes b/doc/ReleaseNotes index 2707d324d9..97a15ddbe8 100644 --- a/doc/ReleaseNotes +++ b/doc/ReleaseNotes @@ -1,3 +1,93 @@ +----------------------- RELEASE 1.10.14 ----------------------- + +This release adds support for Python 3.12 and furthermore contains significant +bug fixes, and also implements some missing features in the shader generator. + +API +* Accept bytes object in DatagramOutputFile.write_header() +* Add missing clear_color() method to CardMaker +* Add file_version properties to BamFile and BamWriter, mirroring BamReader +* Add missing method for getting current display mode index (#1550) + +Shader Generator +* Add support for perspective points (#1440) +* Implement remaining missing TexGenAttrib modes (#1437) +* Fix support for hardware point sprites +* Support missing texture types: cube map arrays, 1D arrays, buffer textures + +Rendering +* Add texconst_i input for Cg shaders to access TexGenAttrib constants +* Fix bug when same texture is used with different TexGenAttrib modes +* OpenGL 3.2+/ES: Correctly handle 4-component texcoords in default shader +* DX9: fix bugs setting some kinds of shader inputs +* OpenGL: guard against exceeding max supported vertex attribute stride +* Add missing handling for 1D array textures in Cg shaders +* OpenGL: improve handling of SM5 Cg shaders +* Fix p3d_LightModel.ambient not updating properly +* Work around wireframe rendering bug in Panfrost drivers +* Fix assertion error when preparing texture fails +* Fix image load/store support in GLES 3.1 (set gl-immutable-texture-storage) + +Windowing +* Windows: Fix issues switching fullscreen while maximized (#1469) +* macOS: Fix undecorated setting ignored when switching back to windowed mode +* macOS: Fix window sizing bug when simultaneously changing undecorated +* macOS: Fix black bar when switching to fullscreen with Z-Order set to Top +* macOS: Squelch secure restorable state warning on macOS 14 "Sonoma" +* X11: Fix crash on shutdown when using custom cursor +* EGL: Fix invalid operation error when using headless pbuffer +* EGL: Add support for resizing (offscreen) pbuffers +* Windows: Message loop is no longer disabled when using tk with threaded draw +* Windows: Fix handling of invalid raw mouse devices + +Deployment +* Fix crash when running executable built with Python 3.11 (#1423) +* Fix for thirdparty packages that use delvewheel (#1492) +* Strip .abi3.so suffix from libraries +* Silently ignore missing hidden imports +* Add missing hidden imports for setuptools and shapely +* Show better error message when targeting no-longer-supported platforms +* Fix issues running pfreeze on macOS +* Fix crash using on arm64 systems with 16 KiB pages (eg. Asahi Linux) +* Fix error using bam_model_extensions with bdist_apps + +Pipeline +* Support reading .bmp files with RLE8 compression +* Fix wrong magfilter being written by egg-palettize (#1585) +* Fix memory leaks when writing TIFF files +* Fix hang in .egg loader when `` used with `` (#1515) +* Add assimp-disable-extensions config var (see #1537) +* Fix assert/crash when reading multiple recorders from bam file (#1561) + +Build +* Add support for building with Python 3.12 +* macOS .dmg are now built as HFS+ for 10.9 compatibility (#1502) +* Don't use RTTI features in headers when building with `-fno-rtti` +* Fix some new compiler warnings +* Fix compile errors with some versions of png.h +* Work around GCC 13.2 bug compiling interrogate-generated code (#1580) +* Support building with LibreSSL on Windows (#1503) +* Fix some issues in anticipation of Python 3.13+ (#1523, #1526) +* More robust parsing of version in setup.cfg (incl. #1539) +* Avoid using deprecated distutils module (#1549) +* Add _d suffix to .pyd files when building debug build on Windows (#1566) + +Miscellaneous +* Fix bug causing textures to sometimes be randomly downloaded +* Fix PStats Python profiling exception when using metaclasses (#1505) +* Fix segfault when ConnectionRepository is verbose (#1430) +* Fix broken minusnode icon in dmodels (#1449) +* Fix wrong delete operator in ARToolKit +* Fix crash when encountering corruption in OpenAL stream (#1452) +* Fix SimpleHashMap error reporting at static init time +* Fix assorted code issues, typos, and Python 2-isms in direct tree +* Code size reductions for interrogate-generated bindings +* Assorted docstring corrections and additions +* Interrogate supports explicit cls parameter for static methods +* Interrogate: fix enum scope issue +* Don't assume presence of softspace attribute on files in directnotify +* Use importlib.metadata (not pkg_resources) for entry points in Python 3.8+ + ----------------------- RELEASE 1.10.13 ----------------------- This is a significant release containing many important bug fixes and a couple diff --git a/makepanda/makepandacore.py b/makepanda/makepandacore.py index ee4af18d0d..a13bf5b554 100644 --- a/makepanda/makepandacore.py +++ b/makepanda/makepandacore.py @@ -3374,10 +3374,15 @@ def SetOrigExt(x, v): def GetExtensionSuffix(): if GetTarget() == 'windows': - if GetTargetArch() == 'x64': - return '.cp%d%d-win_amd64.pyd' % (sys.version_info[:2]) + if GetOptimize() <= 2: + dllext = '_d' else: - return '.cp%d%d-win32.pyd' % (sys.version_info[:2]) + dllext = '' + + if GetTargetArch() == 'x64': + return dllext + '.cp%d%d-win_amd64.pyd' % (sys.version_info[:2]) + else: + return dllext + '.cp%d%d-win32.pyd' % (sys.version_info[:2]) elif CrossCompiling(): return '.{0}.so'.format(GetPythonABI()) else: diff --git a/panda/src/express/multifile.I b/panda/src/express/multifile.I index d418c77598..266670b077 100644 --- a/panda/src/express/multifile.I +++ b/panda/src/express/multifile.I @@ -68,7 +68,7 @@ get_timestamp() const { } /** - * Changes the overall mudification timestamp of the multifile. Note that this + * Changes the overall modification timestamp of the multifile. Note that this * will be reset to the current time every time you modify a subfile. * Only set this if you know what you are doing! */ diff --git a/panda/src/gobj/texture.I b/panda/src/gobj/texture.I index 1894d72967..0d349f6653 100644 --- a/panda/src/gobj/texture.I +++ b/panda/src/gobj/texture.I @@ -1888,7 +1888,7 @@ set_filename(const Filename &filename) { } /** - * Removes the alpha filename, if it was previously set. See set_filename(). + * Removes the filename, if it was previously set. See set_filename(). */ INLINE void Texture:: clear_filename() { @@ -1904,8 +1904,8 @@ clear_filename() { * The Texture's get_filename() function returns the name of the image file * that was loaded into the buffer. In the case where a texture specified two * separate files to load, a 1- or 3-channel color image and a 1-channel alpha - * image, this Filename is update to contain the name of the image file that - * was loaded into the buffer's alpha channel. + * image, the alpha_filename is updated to contain the name of the image file + * that was loaded into the buffer's alpha channel. */ INLINE void Texture:: set_alpha_filename(const Filename &alpha_filename) { @@ -1935,7 +1935,7 @@ set_fullpath(const Filename &fullpath) { } /** - * Removes the alpha fullpath, if it was previously set. See set_fullpath(). + * Removes the fullpath, if it was previously set. See set_fullpath(). */ INLINE void Texture:: clear_fullpath() { diff --git a/panda/src/text/fontPool.I b/panda/src/text/fontPool.I index c6fd4544e3..319d12905b 100644 --- a/panda/src/text/fontPool.I +++ b/panda/src/text/fontPool.I @@ -53,7 +53,7 @@ add_font(const std::string &filename, TextFont *font) { /** * Removes the indicated font from the pool, indicating it will never be * loaded again; the font may then be freed. If this function is never - * called, a reference count will be maintained on every font every loaded, + * called, a reference count will be maintained on every font ever loaded, * and fonts will never be freed. */ INLINE void FontPool::