Hello everyone, 

I'm happy to announce that pyglet 1.4 has been released! It's available for 
download from PyPi and of course
Bitbucket. This release contains a lot of cleanups and some new features. 
One thing to note, is that lots of long
deprecated methods and classes have been (finally!) removed. If you have a 
library based on pyglet, it's pretty
easy to switch to the new APIs. I'll paste the release notes below, which 
contain some pointers on that. 

Thanks to everyone who contributed, or opened issues. There are still a few 
bugs that should be tackled for
the 1.4 branch, but after that I'll personally be focusing on the upcoming 
2.0 release, which will be a big one (GL3+!). 

Regards,
-Ben

-----------------------------------------
Pyglet 1.4.0
============
Major release adding several new features and removing some long deprecated 
methods and attributes.
There are also many small bugfixes, and documentation corrections. Thanks to 
everyone who submitted
a pull request or contributed towards this release!

Of special note, is that the 1.4 release will be the last to support Python 
2. It will also be the
last release to support Legacy OpenGL (2.x). Future pyglet releases will be 
Python 3 only, and will
require at least OpenGL 3 support. If you are using pyglet on legacy systems, 
don't worry. The 1.4
branch will remain available for download. Bugfixes will be backported as 
long as someone is willing
to do so, but new fetures on the 1.4 branch are unlikely.

New features
------------
- Added preliminary support for loading 3D models from obj files.
- Switched from avbin to ffmpeg for decoding media files.

Improvements
------------
- Many long deprecated methods and attributes have now been removed. These 
are all small
changes, so updating an old codebase is straightforward. The following items 
were removed:
* `sprite.set_position`. Set the X, Y coordinates via `sprite.position` 
instead.
* `next` on the Player class. This has been replaced by `next_source`.
* `clock.ClockDisplay`. Use `window.FPSDisplay` instead.
* `clock.test_clock`. This relied on deprecated behavior, and is superseded 
by unit tests.
* `font.text`. Use the `text` module instead for displaying text.
* `window.Platform` API. Use `canvas.get_display` or `canvas.Display` 
instead.
* `font.Win32Font` class. This has been replaced by `font.GDIPlusFont`, 
which was already default.
The class still remains, as it's subclassed by `font.GDIPlusFont`. The two 
should be merged.
* `window.event.WindowExitHandler`. This functionality is now handled by the 
Window itself.
* `image.ImageData.data` properties. Use the `get_data` and `set_data` 
methods instead.
* `image.ImageData.image_data` property. Use the `get_image_data` method 
instead.
* `image.ImageData.texture` property. Use the `get_texture` method instead.
* `image.ImageData.mipmapped_texture` property. Use the 
`get_mipmapped_texture` method instead.
* `image.ImageData.texture_sequence` property. Use the 
`get_texture_sequence` method instead.
* `image.Texture.delete` method. Textures are automatically released through 
GC.
* `image.Texture.image_data` property. Use the `get_image_data` method 
instead.
- Playback of 24bit audio is now supported in the PulseAudio, and 
DirectAudio drivers. The
bundled Python Wave codec can also support loading of 24bit wave files. 
Please note that the
OpenAL driver does NOT support 24bit audio playback.
- Wave decoding is now based on the Python standard library `wave` module. 
This is slightly more
forgiving when loading slightly non-complient files.
- Default texture min and mag filtering can be set on the Texture class. For 
example:
`pyglet.image.Texture.default_min_filter = GL_LINEAR`
`pyglet.image.Texture.default_mag_filter = GL_LINEAR`
- Audio Player and Event classes now take advantage of weak references to 
ensure proper cleanup of
resources.
- The `pyglet.resource` module now supports loading of multi-volume Zip 
files.

Bugfixes
--------
- #253 Add missing self argument to Window event dispatcher methods. Fixes 
linter warnings.
- #226 Loading Animations failed when a decoder was manually specified.
- #218 Add None-check to xlib `Window.activate` to prevent crash if window 
is not yet created.
- #190 Remove all usage of `past.basestring`.
- #189 Setting the volume on audio Listeners should work on Python3 in all 
cases now.
- #170 Fix for UINT point on Windows when using 32-bit Python.
- #167 IndexedVertexDomains with non-1 primcount will now draw correctly on 
64bit OSs.
- #168 Fix StopIteration errors due to changes in behavior in Python 3.7. 
See PEP 479.
- #169 Fix slow Window.flip() on Windows.

-- 
You received this message because you are subscribed to the Google Groups 
"pyglet-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/pyglet-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pyglet-users/c529fce3-e1df-4dcf-91fe-b44fcb18ef78%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to