Releases: spyoungtech/FreeSimpleGUI
v5.1.1
What's Changed
In this release, we introduced a significant refactor (specifically, introduced in #9) of the large FreeSimpleGUI module. This is just a first step we're taking towards making FreeSimpleGUI more maintainable and approachable for contributors. There's still a lot of work to do, but this change cuts the main module size in half, making it quite a bit easier for LSPs and Intellisense to keep up with changes. Elements are now tucked neatly away into their own modules within the new elements
subpackage.
All names are imported back into the main package, so this change should be non-breaking.
We also moved the main module back to __init__.py
instead of the internal FreeSimpleGUI.py
module. This avoids a bug introduced by the initial refactor by which changes to global state (which is unfortunately used extensively) may not take effect properly in some cases.
Other minor changes and deprecations:
- The globals
pil_imported
andpil_import_attempted
are no longer used internally. Attempting to access these globals will produce a deprecation warning. - The behavior of the methods
save_element_screenshot_to_disk
andsave_window_screenshot_to_disk
returningNone
whenPIL
cannot be imported is deprecated. In a future version, callingsave_element_screenshot_to_disk
orsave_window_screenshot_to_disk
whenPIL
cannot be imported will raise anImportError
. - This also fixes a bug where calling
save_element_screenshot_to_disk
orsave_window_screenshot_to_disk
would incidentally overwrite theImage
element class due to use of theglobal
keyword in these methods and importing the nameImage
from PIL whilst markingImage
asglobal
- The methods
timer_start
,timer_stop
, andtimer_stop_usec
are deprecated and will be removed in a future version. (code timing is not FreeSimpleGUI's wheelhouse, and these implementations are flawed in any case). Not to be confused with theWindow
class methods of the same name, which are unchanged. - Using functions with
CamelCase
names that havesnake_case
function name replacements is deprecated and those camel-cased function aliases may be removed in a future version. Using these names will produce a deprecation warning. - don't use deprecated names internally by @spyoungtech in #10
Enhancements from new contributors:
- theme_previewer changes. by @RoboPickle in #21
- Fix Nuitka cross compilation by @deajan in #27
New Contributors
- @RoboPickle made their first contribution in #21
- @deajan made their first contribution in #27
Full Changelog: v5.1.0...v5.1.1
v5.1.0
What's Changed
- remove upgrade and user data collection code by @spyoungtech in #6
- add black, flake8, reorder imports to pre-commit by @spyoungtech in #7
- As of this release, Python versions 3.8 through 3.12 are officially supported (though earlier versions may technically still be compatible). EOL versions of Python (3.7 and earlier) will not be supported for Python version related issues. No efforts will be made in future releases to ensure compatibility with EOL Python versions. (previously, 3.6 was the lowest compatible version).
- The
fsgupgrade
command (akapsgupgrade
) was removed in #6 -- the only supported method for upgrading FreeSimpleGUI is via a package manager, likepip
.
Full Changelog: v5.0.0...v5.1.0
v5.0.0
Initial release.
v5.0.0rc1
First release candidate build
FreeSimpleGUIWx v1.0.0
Initial release for Wx port
FreeSimpleGUIWeb v1.0.0
Initial release for the web port
FreeSimpleGUIQt v1.0.0
Initial release for Qt port
FreeSimpleGUIWx v1.0.0rc1
Initial release candidate for Wx port
FreeSimpleGUIWeb v1.0.0rc1
Initial release candidate for the web port
FreeSimpleGUIQt v1.0.0rc1
Initial release of the Qt port