Release News¶
This describes the latest changes between the PySDL2 releases.
0.9.7¶
Released on 2020-02-15.
The minimum required SDL version is 2.0.5
The minimum required SDL_ttf version is 2.0.14
The minimum required SDL_mixer version is 2.0.1
The minimum required SDL_image version is 2.0.1
Improved compatibility with older SDL2 releases by raising informative exceptions whenever a function requiring a newer SDL2 binary is called
added support for loading SDL2 .framework binaries on macOS
added built-in support for pip installation of SDL2 binaries on macOS and Windows using pysdl2-dll
fixed issue #75:
sdl2.SDL_JoystickGetGUIDString()
andsdl2.SDL_GameControllerMappingForGUID()
no longer cause a segfault on Python < 3.8fixed bug preventing use of background color with wrapped text using
sdl2.ext.FontManager.render()
(PR #134)fixed issue #112: allow easy moving and resizing of
sdl2.ext.Window()
objects through ‘position’ and ‘size’ attributes, added ‘open’ and ‘close’ methods to Window objectsfixed issue #126: the write method for RW objects created with
sdl2.rw_from_object()
now returns the correct valuefixed issue #130: SDL_RW* functions now accept pointers to RW objects
fixed issue #135:
sdl2.SDL_GetPrefPath()
andsdl2.SDL_GetPrefPath()
now return bytestrings instead of pointers to strings.fixed issue #136:
sdl2.SysWMmsg
now properly defined and accessable for syswm events.fixed issue #148: added support for loading SDL2 .so binaries with numeric suffixes on Unix-like OSes (e.g. ‘libSDL2.so.2’)
fixed issue #152: restored compatibility with recent versions of PyPy
fixed transparency issues with pallete indexed PNGs (PR #159)
updated
sdl2
to include the latest changes of SDL2 (release 2.0.10)updated
sdl2.sdlttf
to include the latest changes of SDL2_ttf (release 2.0.15)updated
sdl2.sdlmixer
to include the latest changes of SDL2_mixer (release 2.0.4)updated
sdl2.sdlimage
to include the latest changes of SDL2_image (release 2.0.5)
Big thanks to all the GitHub users who filed bug reports and submitted pull requests for this release.
0.9.6¶
Released on 2017-09-30.
updated
sdl2
to include the latest changes of SDL2 (release 2.0.6)fixed issue #98: wrap
sdl2.SDL_GetHintBoolean()
correctlyfixed issue #99: wrap
sdl2.sdlmixer.Mix_PausedMusic()
correctlyfixed issue #104:
sdl2.ext.Resources.scan()
shows the correct path on errors nowfixed issue #106: fix
TextureSprite.__repr__()
for an unset center propertyfixed some minor GC issues in
sdl2.ext.sprite
andsdl2.ext.font
fixed the __getattr__ implementation for
sdl2.ext.ebs.Entity
fixed background colour handling for multiline text surfaces
0.9.5¶
Released on 2016-10-20.
updated
sdl2
to include the latest changes of SDL2 (release 2.0.5)fixed issue #94: added support for TrueType font collection (TTC) files
fixed issue #80: added flip and rotation support for TextureSprite objects
renamed
sdl2.ext.Renderer.renderer
attribute tosdl2.ext.Renderer.sdlrenderer
. The renderer attribute is deprecated and will be removed in a later version.
0.9.4¶
Released on 2016-07-07.
updated
sdl2
to include the latest changes of SDL2 (release 2.0.4)updated
sdl2.sdlttf
to include the latest changes of SDL_ttf (release 2.0.14)new
sdl2.ext.Renderer.logical_size
attribute to set or retrieve the logical pixel size of a rendererfixed issue #48: be more noisy about DLL loading issues
fixed issue #65: misleading documentation for
sdl2.ext.Renderer.draw_line()
fixed issue #67: Return a proper error code, when unittests running as subprocesses fail
fixed issue #72:
sdl2.video.SDL_GL_DrawableSize()
not available on importfixed issue #76: define missing SDL_PRESSED and SDL_RELEASED constants
fixed issue #82: examples/gui.py fails due to an attribute error
fixed issue #83: fix compatibility with newer PIL versions in
sdl2.ext.image.load_image()
fixed issue #84: The setter of
sdl2.ext.Renderer.scale
works properly nowfixed issue #85: fix environment-dependent unit tests
fixed issue #87: fix incorrect MIX_INIT_* constants in
sdl2.sdlmixer
fixed issue #88: use PILs Image.tobytes() instead of the deprecated Image.tostring()
fixed horizontical and vertical line drawing in
sdl2.ext.line()
fixed a bug in
sdl2.ext.Renderer.draw_line()
for odd numbers of pointsdropped IronPython support
0.9.3¶
Released on 2014-07-08.
updated
sdl2
to include the latest changes of SDL2 (HG)new
sdl2.ext.Renderer.scale
attribute, which denotes the horizontal and vertical drawing scalenew
sdl2.ext.point_on_line()
function to test, if a point lies on a line segmentPYSDL2_DLL_PATH can contain multiple paths separated by
os.pathsep
to search for the libraries nowsdl2.ext.get_image_formats()
only returns BMP image support now, if SDL2_image and PIL are not foundsdl2.ext.load_image()
tries to usesdl2.SDL_LoadBMP()
now, if SDL2_image and PIL are not foundfixed issue #55:
sdl2.SDL_GameControllerAddMappingsFromFile()
does not raise a TypeError for Python 3.x anymorefixed issue #56:
sdl2.ext.Renderer.draw_line()
andsdl2.ext.Renderer.draw_point()
handle multiple lines (or points) as arguments properly nowfixed issue #57: if SDL2_image is not installed and PIL is used, the loaded pixel buffer of the image file is not referenced anymore after returning from
sdl2.ext.load_image()
, causing random segmentation faultsfixed issue #58: raise a proper error, if
sdl2.ext.FontManager.render()
could not render a text surfacefixed issue #59: The
sdl2.ext.TextureSpriteRenderSystem.sdlrenderer
attribute is correctly documented nowfixed a local variable and module name collision in
sdl2.ext.FontManager.render()
Thanks to Filip M. Nowak for the PYSDL2_DLL_PATH improvement.
0.9.2¶
Released on 2014-04-13.
fixed issue #32: the line clipping algorithms do not run into precision errors anymore
fixed issue #53 (again):
sdl2.video.SDL_GL_ResetAttributes()
is properly wrapped now to retain backwards compatibility with previous SDL2 releasesfixed issue #54: text input is correctly converted for the text entry component
updated the example BMP files, which could not be loaded properly on some systems with SDL2_image and PIL
0.9.1¶
Released on 2014-04-05.
fixed issue #50: corrected the
sdl2.ext.load_image()
documentationfixed issue #52:
sdl2.ext.Renderer.fill()
,sdl2.ext.Renderer.draw_rect()
andsdl2.ext.Renderer.draw_point()
convert sequences correctly nowfixed issue #53: provide backwards compatibility for previous SDL2 releases by adding a wrapper func for
sdl2.cpuinfo.SDL_HasAVX()
0.9.0¶
Released on 2014-03-23.
IMPORTANT: This release breaks backwards-compatibility. See the notes for the issues #36 and #39.
updated
sdl2
to include the latest changes of SDL2 (release 2.0.3)new
sdl2.ext.subsurface()
function to create subsurfaces fromsdl2.SDL_Surface
objectsnew
sdl2.ext.SoftwareSprite.subsprite()
method to createsdl2.ext.SoftwarSprite
objects sharing pixel datathe unit test runner features a –logfile argument now to safe the unit test output to a file
issues #36, #39: the different render classes of sdl2.ext.sprite were renamed
the
sdl2.ext.RenderContext
class was renamed tosdl2.ext.Renderer
to be consistent with with SDL2’s naming schemesdl2.ext.SpriteRenderer
was renamed tosdl2.ext.SpriteRenderSystem
sdl2.ext.SoftwareSpriteRenderer
was renamed tosdl2.ext.SoftwareSpriteRenderSystem
sdl2.ext.TextureSpriteRenderer
was renamed tosdl2.ext.TextureSpriteRenderSystem
sdl2.ext.SpriteFactory.create_sprite_renderer()
was renamed tosdl2.ext.SpriteFactory.create_sprite_render_system()
fixed
sdl2.audio.SDL_LoadWAV()
macro to provide the correct argumentsfixed issue #44: use a slightly less confusing
ValueError
, if a renderer argument for thesdl2.ext.SpriteFactory
is not providedfixed issue #43: improved the code reference for the improved bouncing section in the docs
fixed issue #40: typo in a
RuntimeWarning
message on loading the SDL2 librariesfixed issue #38: the points arguments of
sdl2.ext.Renderer.draw_points()
are properly documented nowfixed issue #37:
sdl2.SDL_GetRendererOutputSize()
is now acccessible via a wildcard importfixed issue #35: download location is now mentioned in the docs
fixed issue #12: remove confusing try/except on import in the examples
0.8.0¶
Released on 2013-12-30.
updated PD information to include the CC0 dedication, since giving software away is not enough anymore
updated
sdl2
to include the latest changes of SDL2 (HG)fixed a wrong C mapping of
sdl2.rwops.SDL_FreeRW()
fixed various issues within the
sdl2.ext.BitmapFont
classissue #26:
sdl2.SDL_AudioSpec.callback
is aSDL_AudioCallBack()
nowissue #30: the SDL_Add/DelHintCallback() unittest works with PyPy now
issue #31:
sdl2.sdlmixer.SDL_MIXER_VERSION()
returns the proper version now
Thanks to Sven Eckelmann, Marcel Rodrigues, Michael McCandless, Andreas Schiefer and Franz Schrober for providing fixes and improvements.
0.7.0¶
Released on 2013-10-27.
updated
sdl2
to include the latest changes of SDL2 (release 2.0.1)fixed a bug in
sdl2.ext.FontManager.render()
, which did not apply the text color correctlyissue #14: improved the error messages on failing DLL imports
issue #19: the
sdl2.ext.TextureSpriteRenderer.render()
andsdl2.ext.SoftwareSpriteRenderer.render()
methods do not misinterpret x and y arguments anymore, if set to 0issue #21:
sdl2.ext.load_image()
raises a properUnsupportedError
, if neither SDL_image nor PIL are usable
Thanks to Marcel Rodrigues, Roger Flores and otus for providing fixes and improvement ideas.
0.6.0¶
Released on 2013-09-01.
new
sdl2.ext.FontManager.size
attribute, which gives a default size to be used for adding fonts or rendering textupdated
sdl2
to include the latest changes of SDL2sdl2.ext.RenderContext.copy()
accepts any 4-value sequence as source or destination rectangle nowissue #11: throw an
ImportError
instead of aRuntimeError
, if a third-party DLL could not be imported properlyfixed a bug in the installation code, which caused
sdl2.examples
not to install the required resources
Thanks to Steven Johnson for his enhancements to the FontManager class. Thanks to Marcel Rodrigues for the improvements to RenderContext.copy().
0.5.0¶
Released on 2013-08-14.
new
sdl2.ext.FontManager
class, which provides simple TTF font rendering.new
sdl2.ext.SpriteFactory.from_text()
method, which creates text spritesput the SDL2 dll path at the beginning of PATH, if a PYSDL2_DLL_PATH is provided to avoid loading issues for third party DLLs on Win32 platforms
minor documentation fixes
Thanks to Dan Gillett for providing the FontManager and from_text() enhancements and his patience regarding all the small change requests. Thanks to Mihail Latyshov for providing fixes to the documentation.
0.4.1¶
Released on 2013-07-26.
updated
sdl2
to include the latest changes of SDL2improved DLL detection for DLLs not being in a library path
fixed a bug in
sdl2.ext.RenderContext.draw_rect()
for drawing a single rectfixed a bug in the
repr()
call forsdl2.ext.SoftwareSprite
issue #4: fixed a bug in
sdl2.ext.RenderContext.fill()
for filling a single rectissue #5: fixed pip installation support
issue #6: fixed a bug in
sdl2.ext.get_events()
, which did not handle more than 10 events in the queue correctlyissue #8:
sdl2.ext.SpriteFactory.create_texture_sprite()
can create sprites to be used as rendering targets nowissue #9: improved error messages on trying to bind non-existent library functions via ctypes
minor documentation fixes
Thanks to Steven Johnson, Todd Rovito, Bil Bas and Dan McCombs for providing fixes and improvements.
0.4.0¶
Released on 2013-06-08.
new
sdl2.sdlmixer
module, which provides access to the SDL2_mixer libraryissue #1: fixed libc loading for cases where libc.so is a ld script
updated
sdl2
andsdl2.sdlimage
to include the latest changes of the libraries, they wrap
0.3.0¶
Released on 2013-05-07.
new
sdl2.sdlgfx
module, which provides access to the SDL2_gfx librarynew
sdl2.ext.UIFactory.from_color
method; it creates UI-supportive sprites from a colorfixed color argument bugs in
sdl2.ext.RenderContext
methodsfixed a module namespace issues in
sdl2.ext.pixelaccess
sdl2.ext.SpriteFactory
methods do not use a defaultsize
argument anymore; it has to provided by the caller
0.2.0¶
Released on 2013-05-03.
removed sdl2.ext.scene; it now lives in python-utils
fixed
sdl2.haptic
module usage for Python 3fixed
sdl2.SDL_WindowGetData()
andsdl2.SDL_WindowSetData()
wrappersfixed
sdl2.ext.RenderContext.copy()
fixed
sdl2.ext.font
module usage for Python 3fixed
sdl2.ext.line()
sdl2
imports all submodules nowimproved documentation