I'm pleased to announce the release of pyglet 1.4

125 views
Skip to first unread message

Benjamin Moran

unread,
Jul 7, 2019, 10:02:49 PM7/7/19
to pyglet-users
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.

Victor

unread,
Jul 30, 2019, 4:33:26 PM7/30/19
to pyglet-users
Great job with this release! 

Its very nice that the pyglet project is still alive, and Im definitely looking forward to the future 2.0 version

/Victor

Paulo Jorge PM

unread,
Jul 31, 2019, 5:35:52 AM7/31/19
to pyglet-users
Congratulations! Thank you for you hard work. Pyglet is awesome and deserves a lot more love! Many great things have been made with him (e.g. Cocos2D that later went on o evolve for mobile and C#; some apps in my university and tools for my thesis) and everyone that trys it prefers it than Pygame, but at the end of the day it is the shadow Knight that works on the shadows but people don't give it the credit it deserves. Maybe a dedicated repository for work created with it could help, like Pygame has, don't know.

Will try this version soon, than you!

Mathew Workman

unread,
Jul 31, 2019, 11:10:15 AM7/31/19
to pyglet-users
Hello all, first post in this group.

I agree with Paulo - a dedicated repository for work is a great idea.

I have never used Pyglet,  only Arcade, Pygame and Pygame Zero.  As an outside looking in - I see so many comments from people stating they love Pyglet, prefer it to Pygame,  but then - it's hard to find example of people using it.

Benjamin Moran

unread,
Aug 3, 2019, 10:22:52 AM8/3/19
to pyglet-users
Thank you Victor, Paulo, and Mathew! 

On the Discord server, we recently started a "user-showcase" channel for sharing projects. https://discord.gg/QXyegWe
In addition, I'm working on getting a simple website up again for pyglet. Links to projects could go there, eventually. 

Alex Nieto

unread,
Aug 3, 2019, 1:42:55 PM8/3/19
to pyglet...@googlegroups.com
excellent work, I will resume projects with pyglet since I have been a little absent.  This is good, that Pyglet has more support as it is having for the community to grow and it is easy to find support about pyglet on the Internet as you get from pygame for being more popular .... greetings!

--
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 pyglet-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pyglet-users/2d974bce-0379-4b52-9871-643a50fcff83%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages