All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[!ATTENTION] Until libretro.py reaches version 1.x, breaking changes may be introduced at any time without warning.
- Raise a warning when the core's requested maximum framebuffer size is larger than what the OpenGL implementation can provide.
- Fix
ModernGlVideoDriver.geometry
having an incorrect return type. - Fix
ModernGlVideoDriver
failing to import in Python 3.11.
- Remove some methods or other constructs that were added in Python 3.12, to ensure compatibility with Python 3.11.
- Fixed an incorrect
import
shim in_typing.py
, resulting in the library failing to import on Python 3.12.
- BREAKING: Raise the minimum required Python version to 3.11.
- Remove syntax that prevented compatibility with Python 3.10 and 3.11.
- Added aliases to
typing
symbols as needed if using a Python version older than 3.12. - Added
typing_extensions
as a dependency if using a Python version older than 3.12.
- Don't catch a failure to import
OpenGL
inmoderngl.py
.
- Allow
ModernGlVideoDriver
's import of PyOpenGL to fail with anAttributeError
.
- Prevent a failure to import PyOpenGL from stopping
ModernGlVideoDriver
from being imported.
- Fixed a bug where logging invalid UTF-8 characters in
UnformattedLogDriver
would raise an exception. - Fixed a bug where fetching an unset option from a
DictOptionDriver
wouldn't register the default value for next time. - Fixed a bug where
ModernGlVideoDriver
would try to use OpenGL debugging features even if they weren't available.
- Fixed the GLSL shaders used by
ModernGlVideoDriver
not being included in distributions.
- Added
moderngl
'sheadless
extra when installing this package'sopengl
extra.
- Fixed a bug where
ModernGlVideoDriver
couldn't be used without themoderngl_window
package installed.
- Added OpenGL support via
ModernGlVideoDriver
. - Added support for switching video drivers at runtime
using
MultiVideoDriver
. - Added
pre-commit
hooks to enforce code style.
- Added API documentation for
VideoDriver
. - Allow
VideoDriver.can_dupe
to be settable and deletable. - Don't allow
VideoDriver.get_system_av_info
to returnNone
. - BREAKING: Rename
AbstractSoftwareVideoDriver
toSoftwareVideoDriver
.
- Swap the red and blue channels in
ArrayVideoDriver
. - Immediately reinitialize the video driver when a core calls
RETRO_ENVIRONMENT_SET_SYSTEM_AV_INFO
, as the docs specify.
- BREAKING: Removed
PillowVideoDriver
; useArrayVideoDriver
instead.
- Allow the callbacks in
Core
to acceptCallable
s with equivalent signatures, rather than strictly enforcing the use of theretro_*
CFUNCTYPE
s. - Allow
Core.cheat_set
to accept astr
as the cheat code. - BREAKING: Don't allow the cheat code passed to
Core.cheat_set
to be amemoryview
orBuffer
, as these don't typically represent strings.
- Everything.