Version 3.12¶
Version 3.12.1¶
🛠️ Bug fixes:
Issue #92 - Changing base class order in DataSet inheritance does not affect item order as expected
When using multiple inheritance with DataSet classes, changing the order of the base classes in the child class definition did not affect the order of the items in the resulting dataset.
One would expect the items to appear in the order in which the base classes are listed, and thanks to this fix, this is now the case.
Version 3.12.0¶
💥 New features:
New operator property
FuncPropMultifor handling multiple properties:This property allows you to apply a function to multiple item properties at once.
It can be used to create more complex dependencies between items in a dataset.
See the
guidata.tests.dataset.test_activable_itemsmodule for an example of usage.
New script
gbuildfor building the package:This script is a wrapper around the
guidata.utils.securebuildmodule, which ensures that the build process is secure and reproducible.It checks that the
pyproject.tomlfile is present in the root of the repository, and that it is committed to Git.It also ensures that the build process is reproducible by using a temporary directory for the build artifacts.
New
qt_wait_untilfunction (guidata.qthelpers) for waiting until a condition is met:This function allows you to wait for a specific condition to be true, while still processing Qt events.
It can be useful in situations where you need to wait for a background task to complete or for a specific UI state to be reached.
Renamed scripts associated to
guidata.utils.translationsandguidata.utils.genreqsmodules:guidata-translationsis nowgtransguidata-genreqsis nowgreqs
🛠️ Bug fixes:
Issue #90 -
BoolItem: Fix checkbox state management inqtitemwidgetsBefore this fix, the checkbox state was not correctly managed when the item’s active state changed.
In other words, when using
set_prop("display", active=onBoolItem, the checkbox was not updated.The checkbox state is now correctly managed based on the item’s active state.
This fixes a regression introduced in version 3.3.0 with the new dataset read-only mode feature.
Requirements generation scripts (
greqsorpython -m guidata.utils.genreqs):Before this fix, strict superior version requirements (e.g.
pyqt5 > 5.15) were skipped in the generated requirements files (with a warning message).Now, these strict superior version requirements are included but the version is not specified (e.g.
pyqt5instead ofpyqt5 > 5.15).A warning message is still displayed to inform the user that the version is not specified.
Issue with automated test suite using
exec_dialog:The
exec_dialogfunction was not properly handling the dialog closure in automated tests.This could lead to unexpected behavior and side effects between tests.
The fix ensures that all pending Qt events are processed before scheduling the dialog closure.
This avoids the necessity to use timeouts in tests, which can lead to flaky tests.
ℹ️ Other changes:
Updated dependencies following the latest security advisories (NumPy >= 1.22)
Added
pre-commithook to runruff(bothruff checkandruff format) on commitAdded missing
buildoptional dependency to development dependencies inpyproject.tomlVisual Studio Code tasks:
Major overhaul (cleanup and simplification)
Removal of no longer used batch files