🚀 After cooking for far too long, Gooey 1.0.3 is released!
✅ Grab the latest version:
⚙ Runnable demos for all the new features can be found in the Examples repo.
📚 A lot of focus was put on settling Gooey down into a more stable mature project. In addition to all of the new features, a lot of time was spent writing documentation, stamping down cross platform issues / quirks, and making numerous tweaks and additions to enable a smoother experience when packaging Gooey for distribution.
Fancy Layout controls!
🚀 The main goal of this release was enabling more complex real-world layouts and more customization of Gooey's UI. As of 1.1.0, you now have have control over every color, font, and display status within the application. You can now brand Gooey to your organization's colors, logically group related items under a central heading, and optionally show/hide all the individual components that make up an input widget.
Gooey now includes a simple declarative system for creating top level menu bars and items.
👍 The menu option currently supports three flavors:
This is an AboutDialog as rendered natively by your OS. It's a good place to show standard info like version info, descriptions, licenses, etc.. in a standard way across platforms.
🔊 Next up are general message dialogs. You can display any informational text inside of these.
📚 Finally, you can create fixed menu items that simply link to external resources, for instance, your site, documentation, pdfs, etc..
Rich Text Controls
Thanks to @NathanRichard, Gooey can now optionally honor terminal control sequences and display Rich Text in the output panel.
🆕 New Gooey Program Icon
🆕 New icon provided by professional cool guy and crazy talented UX designer Justin Rhee.
➕ Additional features
- OSX now shows program Icon in Dock
show_error_modaloption to toggle whether or not failures additionally raise alert modals.
- 💻 Hyperlinks written to the console appear as such and will launch a browser on click
clear_before_runoption lets you control whether or not subsequent program runs start from a fresh terminal or preserve the previous output.
- Conditionally show/hide restart button
requires_shelloption - controls how
Popenspawns your program. By default (and historically), this value is False.
- ⚡️ Optionally silence textual progress updates when using the Progress widget (via @conradhilley)
- Multi-Directory Choosers - these were accidentally dropped from the project. @HenrykHaniewicz added them back!
- ➕ Additional explicit wx imports to make packaging on OSX easier
- Textfields can now be made Readonly for informational purposes
- better custom target support via
suppress_gooey_flagwhich prevents the
--ignore-gooeyflag from being injected
💥 Breaking Changes
No breaking changes between
Language Additions / Improvements
🌐 Completed Italian translation - @gison93
⚡️ Updated French translation - @NathanRichard
⚡️ Updated Hebrew translation - @eturkes
🐛 Bug Fixes
- 🛠 Fixed 5 year old bug(!) where an errant lambda function wasn't passing through all of its arguments which caused frustratingly opaque failures under specific conditions.
- 🛠 Fixed bug where external updates weren't applied to
- 🛠 Fix bug where tuples weren't coerced to List which causes concatenation errors
- Fixed bug where string coercion in
argparse_to_jsonwas too broad and caused type errors
- 🛠 Fixed bug where wrong validator was applied to Dropdown type causing preflight checks to always fail
- 🛠 Fixed bug where Radio Groups would apply too much vertical spacing between components
- 🛠 Fixed bug where subgroups with single items were attached to the wrong UI parent
- 🛠 Fixed bug where legacy default groups weren't being translated
- 🛠 Fixed bug where certain languages would sometimes cause components to be rendered off screen
🚑 This is a temporary hotfix downgrading the wxpython used by Gooey to 4.0.7.
🚀 WxPython 4.10 introduced unexpected breaking changes. These changes caused Gooey to fail when starting up.
👀 If you are seeing errors such as this when running Gooey
wx._core.wxAssertionError: C++ assertion "!(flags & wxALIGN_CENTRE_HORIZONTAL)" failed at ..\..\src\common\sizer.cpp(2106) in wxBoxSizer::DoInsert(): Horizontal alignment flags are ignored in horizontal sizers
🚀 This release will resolve them.
Longer term solution to follow pending additional research.