Small release with a few new features
This is a small release with two new features and a handful of bug fixes.
Numpy Version
The main reason why this py5 release is happening now and not later is because numpy will soon have a major release that is not completely backwards compatible. Version 2.0 of numpy will be released soon and library maintainers have been advised to pin dependencies to numpy<2.0
and then test with numpy 2.0 when it is available. This is to ensure that py5 and every library py5 depends on is ready for the new version and does not cause users any problems.
Once the new numpy version is released and I verify py5 works well with it, I will do another release of py5 that removes the numpy<2.0
pin.
New Contributors
Recently py5 had two first-time contributors. Many thanks to keko24 (Andrej) for PR #406 - Implemented corresponding changes to convert_image and convert_shape, addressing Issue #405. Also, thanks to JulienBacquart for PR #416 correct constrain documentation, addressing some documentation errors.
New Features
Neither of these new features are that significant and most likely they won't be useful for most users. However, they have been useful for me as I've done the prototyping experiments for a gallery show, opening next Friday in Detroit.
- The new
predraw_update()
user function is called before each call todraw()
. The purpose of this function is to provide a small performance boost by moving non-drawing update code to a function that executes during a time when the Python interpreter would otherwise be idle. If you want to read more about this feature, visit the new Update Function section of the new User Functions page. - Processing Mode users can now use the
jclass_params
keyword parameter to pass arguments to the constructors of their Java Classes. Read the Processing Mode documentation to learn more about this use of py5.
Closed Issues
- Issue #405 -
convert_image()
andconvert_shape()
methods should support Py5Image, Py5Graphics, and Py5Shape objects - Issue #394 -
save_frame()
cannot be called from a mouse or keyboard event function but that works fine in Processing - Issue #421 - Add
display_progress
param topy5_tools.offline_frame_processing()