fsleyes-props release history
This document contains the fsleyes-props release history in reverse
chronological order.
1.12.3 (Thursday 20th November 2025)
Fixed
Fixed a bug in the Colourmap widget creation code which would occur when the selected colour map was not in the list of available colour maps.
1.12.2 (Wednesday 23rd July 2025)
Fixed
Fixed a bug in
HasProperties.isBound(), which was always returningNone.
Changed
Migrated to setuptools-scm for version number management.
1.12.0 (Friday 8th November 2024)
Added
The
Choice.setChoices()method now accepts a newChoice argument, allowing the new choice value to be set when the choices are updated.New onUser argument when creating a
Widgetfor a .Choice property, which is called whenever the user interacts with the widget.
1.11.0 (Monday 18th September 2023)
Added
New
prefixoption forColourMapproperties - when a prefix is set, assignments to the property, e.g.obj.cmap = 'red', will cause a colour map named{prefix}_redto be chosen over a colour map namedred, if the former is registered with matplotlib.
Changed
The
ColourMapproperty no longer supports looking up colour maps by their name or registered key. This is because matplotlib 3.8 has made it impossible to give a colour map a name different to the key under which it registered.
1.10.0 (Tuesday 18th July 2023)
Changed
Arrayproperty types can now be set toNone.Replaced
setup.py-based build system withpyproject.toml.
1.9.6 (Monday 10th July 2023)
Changed
The type-specific equality function is now used when the
'default'attribute value is changed, instead of a naive equality (==) comparison. This is primarily to allow the default value to be set to anumpy.array(e.g. for theArraytype), for which a naive equality test would result in an error.
1.9.5 (Thursday 6th July 2023)
Added
1.9.4 (Thursday 6th July 2023)
Changed
Adjusted the
buildGUI()function so that initial widget states (as determined byenabledWhen/visibleWhen) are correctly set.
1.9.3 (Monday 20th March 2023)
Fixed
Fixed potential infinite loop if a property value is set to the
HasPropertiesinstance.
1.9.2 (Wednesday 15th March 2023)
Added
New
HasProperties.wlisten()method, an alias foraddListener(weak=False).
1.9.1 (Tuesday 21st February 2023)
Changed
Adjustments to the
ColourMapproperty so that it prefers colour maps that are specified with theColourMapover built-inmatplotlibcolour maps.
1.9.0 (Monday 20th February 2023)
Changed
fsleyes-propsnow requiresmatplotlib >= 3.5.0, and has been updated to use the newmatplotlib.colormapsregistry.
1.8.3 (Tuesday 7th February 2023)
Fixed
Fixed an issue in dependency specification.
1.8.2 (Monday 22nd August 2022)
Fixed
Fixed a bug whereby property definitions from a base class would be used when creating a
HasPropertiesobject, even if those properties were overwritten in a sub class.
1.8.1 (Thursday 18th August 2022)
Changed
Changed the initialisation logic for
Boundsproperties, so that if adefaultandminval/maxvalare specified, the former is not overwritten by the latter.
1.8.0 (Thursday 18th August 2022)
Added
New
fsleyes_props.Props,HasProperties.listen(),HasProperties.ilisten(),HasProperties.remove(),HasProperties.bind(),HasProperties.unbind(),HasProperties.getatt(), andHasProperties.setatt()aliases.
Changed
Property value listener functions can be defined to accept no arguments, if none are needed.
The
Boundsproperty type now acceptsminvalandmaxvaloptions, for setting the initial minimum/maximum limits for each axis.The
suppress()andskip()functions now accept one or more property names.
1.7.3 (Wednesday April 21st 2021)
Changed
Fixed deprecated usage of the
matplotilb.cm.cmap_dcolour map dictionary.
1.7.2 (Saturday March 27th 2021)
Changed
The
Colorproperty type now accepts any value that is accepted by the matplotlib.to_rgba function.Properties of type The
IntandRealcan be set toNone(unlessrequired=True and allowInvalid=False).
1.7.1 (Tuesday March 9th 2021)
Changed
The
fsleyes-propsAPI documentation is now hosted at https://open.win.ox.ac.uk/pages/fsl/fsleyes/props/fsleyes-propsis now tested against Python 3.7, 3.8, and 3.9.Removed
sixas a dependency.
1.7.0 (Tuesday May 26th 2020)
Added
Added a short-hand alias for
HasProperties-HasProps.
1.6.7 (Friday October 4th 2019)
Changed
Minor GTK3 compatibility fixes.
1.6.6 (Wednesday September 18th 2019)
Changed
fsleyes-propsis no longer tested against Python 2.7-3.5, but is now tested against Python 3.6-3.8, and GTK3.
1.6.5 (Monday January 7th 2019)
Changed
Removed the
deprecationlibrary as a dependency.
1.6.4 (Friday October 5th 2018)
Changed
Development (test and documentation dependencies) are no longer listed in
setup.py- they now need to be installed manually.Removed conda build infrastructure.
1.6.3 (Thursday July 5th 2018)
Changed
Removed
pytest-runneras a dependency.
1.6.2 (Tuesday June 5th 2018)
Added
Fixed
Fixed a regression in the
SyncableHasPropertiesclass.
1.6.1 (Friday May 11th 2018)
Fixed
Fixed an issue in the behaviour of the
HasProperties.addProperty()method and thesyncablemodule, with handling of class hierarchies.
Deprecated
Deprecated the
PropertyOwnermetaclass - property initialisation now occurs at the instance level withinHasProperties.__new__().
1.6.0 (Thursday May 3rd 2018)
Changed
Adjustment to the
widgets_choicemodule needed due to changes in theBitmapRadioBoxAPI.
1.5.1 (Wednesday March 7th 2018)
Changed
Adjustments to the
condapackage build and deployment process.
1.5.0 (Tuesday February 27th 2018)
1.4.0 (Monday January 8th 2018)
The
ColourMapwidget no longer complains when its property is set to a colour map that is registered withmatplotlib, but not with the property. The error message when an unknown colour map is specified has also been improved.The
cli._Choice()function allows additional arguments to be passed through to theArgumentParser.add_argumentmethod.
1.3.1 (Wednesday January 3rd 2018)
Fixed issue in
syncablewhere sync property change listeners were not being called after calls tosyncToParent()orunsyncFromParent().
1.3.0 (Wednesday January 3rd 2018)
The
SyncableHasPropertiesraises a custom error type, instead of aRuntimeError, when an illegal attempt is made to synchronise or unsynchronise a property.
1.2.5 (Wednesday December 6th 2017)
Fixed a problem with the API documentation build failing again.
Unit tests are now run against wxPython 3.0.2.0.
1.2.4 (Thursday November 9th 2017)
Fixed use of deprecated
fsl.utils.asyncmodule from thefslpylibrary.
1.2.3 (Thursday October 26th 2017)
Fixed a problem with the API documentation build failing.
1.2.2 (Saturday October 21st 2017)
clicustom transform functions can now raise aSkipArgumentexception to indicate that the argument shouid be skipped, either when applying or generating arguments.
1.2.1 (Thursday September 21st 2017)
cli.generateArguments()function wraps string values in quotes.cli.generateArguments()allows extra arguments to be passed through to custom transform functions.
1.2.0 (Monday September 11th 2017)
Deprecated
get/setConstraintin favour ofget/setAttribute, onHasPropertiesandPropertyBaseclasses.
1.1.2 (Friday August 25th 2017)
Even more adjustement to
PropertyValueListitem notification/ synchronisation.
1.1.1 (Thursday August 24th 2017)
Further adjustement to
PropertyValueListitem notification/ synchronisation.
1.1.0 (Wednesday August 23rd 2017)
HasProperties.__init__()now acceptskwargswhich allow initial property values to be set.SyncableHasPropertieshas new/renamed methodsdetachFromParentanddetachAllFromParent, allowing individual properties to be permanently un-synchronised.Bugfix to
PropertyValueList.getLastsuppress.skip()function has option to ignore non-existent/deleted listeners.Fix to
PropertyValueListitem notification.
1.0.4 (Thursday August 10th 2017)
New function
makeListWidget(), which creates a widget for a specific item in a property value list.
1.0.3 (Friday July 14th 2017)
Bug fix to
fsleyes_props.bindable- could potentially pass GC’d functions to thecallqueue.Tweaks to CI build process
1.0.2 (Thursday June 8th 2017)
Added CI build script
Fixed some unit tests.
1.0.1 (Sunday June 4th 2017)
Adjustments to pypi package metadata.
1.0.0 (Saturday May 27th 2017)
propsrenamed tofsleyes_propspwidgetsremoved (moved to separate projectfsleyes-widgets)Removed
WeakFunctionRef- this is now defined in thefslpyproject.Removed
Boundscentering logicAdjusted
CallQueueinterface to allow arbitrary arguments to be passed through to queued functions.
0.10.1 (Thursday April 20th 2017)
First public release as part of FSL 5.0.10