|
| 1 | +# Version 1 # |
| 2 | + |
| 3 | +## Version 1.8.0 ## |
| 4 | + |
| 5 | +Changes: |
| 6 | + |
| 7 | +* Added generic widgets: array, dictionary, text and code editors. |
| 8 | +* Removed `spyderlib`/`spyder` dependency. |
| 9 | +* Added setter method on DataItem object for "help" text (fixed part of the tooltip). |
| 10 | + |
| 11 | +## Version 1.7.9 ## |
| 12 | + |
| 13 | +Changes: |
| 14 | + |
| 15 | +* Added PySide2 support: guidata is now compatible with Python 2.7, Python 3.4+, PyQt4, |
| 16 | + PyQt5 and PySide2! |
| 17 | + |
| 18 | +## Version 1.7.8 ## |
| 19 | + |
| 20 | +Changes: |
| 21 | + |
| 22 | +* Added PyQt4/PyQt5/PySide automatic switch depending on installed libraries |
| 23 | +* Moved documentation to <https://docs.readthedocs.io/> |
| 24 | + |
| 25 | +## Version 1.7.7 ## |
| 26 | + |
| 27 | +Bug fixes: |
| 28 | + |
| 29 | +* Fixed Spyder v4.0 compatibility issues. |
| 30 | + |
| 31 | +## Version 1.7.6 ## |
| 32 | + |
| 33 | +Bug fixes: |
| 34 | + |
| 35 | +* Fixed Spyder v3.0 compatibility issues. |
| 36 | + |
| 37 | +## Version 1.7.5 ## |
| 38 | + |
| 39 | +Bug fixes: |
| 40 | + |
| 41 | +* `FilesOpenItem.check_value` : if value is None, return False (avoids "None Type object is not iterable" error) |
| 42 | + |
| 43 | +## Version 1.7.4 ## |
| 44 | + |
| 45 | +Bug fixes: |
| 46 | + |
| 47 | +* Fixed compatibility issue with Python 3.5.1rc1 (Issue #32: RecursionError in `userconfig.UserConfig.get`) |
| 48 | +* `HDF5Reader.read_object_list`: fixed division by zero (when count was 1) |
| 49 | +* `hdf5io`: fixed Python3 compatibility issue with unicode_hdf type converter |
| 50 | + |
| 51 | +## Version 1.7.3 ## |
| 52 | + |
| 53 | +Features: |
| 54 | + |
| 55 | +* Added CHM documentation to wheel package |
| 56 | +* hdf5io: added support for a progress bar callback in "read_object_list" (this allows implementing a progress dialog widget showing the progress when reading an object list in an HDF5 file) |
| 57 | + |
| 58 | +Bug fixes: |
| 59 | + |
| 60 | +* Python 3 compatibility: fixed `hdf5io.HDF5Writer.write_object_list` method |
| 61 | +* data items: |
| 62 | + * StringItem: when `notempty` parameter was set to True, item value was not checked at startup (expected orange background) |
| 63 | +* disthelpers: |
| 64 | + * Supporting recent versions of SciPy, h5py and IPython |
| 65 | + * Fixed compatibility issue (workaround) with IPython on Python 2.7 (that is the "collection.sys cx_Freeze error") |
| 66 | + |
| 67 | +## Version 1.7.2 ## |
| 68 | + |
| 69 | +Bug fixes: |
| 70 | + |
| 71 | +* Fixed compatibility issues with old versions of Spyder (<v2.3) |
| 72 | + |
| 73 | +## Version 1.7.1 ## |
| 74 | + |
| 75 | +Bug fixes: |
| 76 | + |
| 77 | +* Fixed Issue #25: ConfigParser.get unexpected keyword argument 'raw' |
| 78 | +* Fixed tests failures: disthelpers, guiqwt/tests/loadsaveitems_hdf5.py |
| 79 | + |
| 80 | +Features: |
| 81 | + |
| 82 | +* userconfigio: added support for serializing/deserializing NumPy scalars |
| 83 | +* Fixed Issue #47: added support for DateTimeItem/DateItem (de)serialization |
| 84 | + |
| 85 | +Setup: |
| 86 | + |
| 87 | +* Using setuptools "entry_points" instead of distutils "scripts" |
| 88 | + |
| 89 | +## Version 1.7.0 ## |
| 90 | + |
| 91 | +Possible API compatibility issues: |
| 92 | + |
| 93 | +* Added support for PyQt5 (removed old-style signals) |
| 94 | + |
| 95 | +## Version 1.6.1 ## |
| 96 | + |
| 97 | +Possible API compatibility issues: |
| 98 | + |
| 99 | +* disthelpers: |
| 100 | + * Changed arguments from "architecture=None, python_version=None" to "msvc_version, architecture=None" |
| 101 | + |
| 102 | +## Version 1.6.0 ## |
| 103 | + |
| 104 | +Added support for Python 3 (see module `guidata.py3compat`). |
| 105 | + |
| 106 | +New features: |
| 107 | + |
| 108 | +* disthelpers: |
| 109 | + * Added support for Python 3.3 |
| 110 | + * Added support for pygments (and partial support for zmq: still failing) |
| 111 | +* FloatArrayItem: added support for `unit` property value |
| 112 | + |
| 113 | +Bug fixes: |
| 114 | + |
| 115 | +* disthelpers.prepend_module_to_path: unload modules which were already imported to be able to replace them by other versions (mostly `guidata` should be concerned by this if the function is used -as it should be- in package's `__init__`.py script) |
| 116 | + |
| 117 | +## Version 1.5.1 ## |
| 118 | + |
| 119 | +New features: |
| 120 | + |
| 121 | +* HDF5 serialization (HDF5 reader/writer): |
| 122 | + * Added context manager |
| 123 | + * Added convenience methods `read` and `write` |
| 124 | + * Added convenience methods `write_object_list` and `read_object_list` to save/restore objects implementing DataSet-like `serialize` and `deserialize` methods |
| 125 | +* Datasets I/O (HDF5/ini): None values (unset items) can now be saved/loaded for FloatItem, IntItem and BoolItem objects |
| 126 | +* disthelpers: added option 'exclude_dirs' to 'add_module_data_files' and 'add_module_data_dir' methods |
| 127 | +* Added slider support for FloatItem objects (contributor: julien.jaeck) |
| 128 | +* (Issue 21) Added option 'size' in dataset `edit` and `view` methods to resize the generated dialog box (size may be a tuple of integers (width, height) or a QSize object) |
| 129 | + |
| 130 | +Possible API compatibility issues: |
| 131 | + |
| 132 | +* guidata now requires Python 2.6 (Python 2.5 support has been dropped) |
| 133 | + |
| 134 | +Bug fixes: |
| 135 | + |
| 136 | +* DataSet objects (de)serialization: fixed HDF5 reader/writer for FilesOpenItem and FloatArrayItem serialize/deserialize methods |
| 137 | +* Fixed DataSet userconfig read/write test |
| 138 | +* StringItem/ColorItem: fixed unicode/str issues in deserialization methods |
| 139 | +* Added support for strings encoded in file system charset to avoid an error like "String %r is not UTF-8 encoded" when trying to set an item to a string value (path) obtained with a file system command |
| 140 | +* configtools/image paths: handling file system encoded paths |
| 141 | +* (Issue 14) Restored compatiblity with PyQt v4.4 |
| 142 | + |
| 143 | +## Version 1.5.0 ## |
| 144 | + |
| 145 | +Bug fixes: |
| 146 | + |
| 147 | +* Fixed 'callback' property related issue: when updating a DataSetShowGroupBox or |
| 148 | +DataSetEditGroupBox internal dataset, the callback property was causing a reset |
| 149 | +of the data items to their default values |
| 150 | + |
| 151 | +Possible API compatibility issues: |
| 152 | + |
| 153 | +* datatypes.OperatorProperty was renamed to FuncProp |
| 154 | + |
| 155 | +Other changes: |
| 156 | + |
| 157 | +* Added test for the FuncProp item property: how to change an item active state depending on another item's value |
| 158 | +* Added support for dictionaries for `update_dataset` and `restore_dataset` (functions of `guidata.utils`): |
| 159 | + * `update_dataset` may update the destination dataset from a source dictionary |
| 160 | + * `restore_dataset` may update the destination dictionary from a source dataset |
| 161 | +* FloatArrayItem: added option "large" to show all the array values in read-only mode |
| 162 | +* Added new guidata svg logo |
| 163 | +* disthelpers: |
| 164 | + * added support for PySide |
| 165 | + * disthelpers: new function 'get_visual_studio_dlls' -- returns the list of Visual |
| 166 | +Studio DLLs (and create manifest) associated to Python architecture and version |
| 167 | + |
| 168 | +## Version 1.4.2 ## |
| 169 | + |
| 170 | +Bug fixes: |
| 171 | + |
| 172 | +* disthelpers: |
| 173 | + * the vs2008 option was accidently turned off by default on Windows platforms |
| 174 | + * build_chm.bat: added support for Windows x64 |
| 175 | + |
| 176 | +Other changes: |
| 177 | + |
| 178 | +* dataset.qtwidgets: |
| 179 | + * QLabel widgets word wrapping is now disabled for read-only items and may be disabled for dataset comments: this is necessary because when the parent widget height is constrained, Qt is unexpectedly reducing the height of word-wrapped QLabel widgets below their minimum size, hence truncating their contents... |
| 180 | +* disthelpers: |
| 181 | + * raising an exception when the right version of Ms Visual C++ DLLs was not found |
| 182 | + * now creating the manifest and distributing from the redistribuable package installed in WinSxS |
| 183 | + |
| 184 | +## Version 1.4.1 ## |
| 185 | + |
| 186 | +Bug fixes: |
| 187 | + |
| 188 | +* ColorItem for recent versions of Qt: in QLineEdit widget, the text representation of color was str(QColor(...)) instead of str(QColor(...).name()) |
| 189 | +* guidata.qt compat package: fixed _modname typo |
| 190 | +* hdf5io: |
| 191 | + * optional attribute mechanism generalized to both Attr and DSet objects (for both saving and loading data) |
| 192 | + * H5Store/`close` method: now checking if h5 file has already been closed before trying to close it (see <http://code.google.com/p/h5py/issues/detail?id=220>) |
| 193 | +* disthelpers: |
| 194 | + * vs2008 option was ignored |
| 195 | + * added 'C:\Program Files (x86)' to bin includes (cx_Freeze) |
| 196 | +* Data items/callbacks: fixed callbacks for ChoiceItem (or derived items) which were triggered when other widgets were triggering their own callbacks... |
| 197 | + |
| 198 | +Other changes: |
| 199 | + |
| 200 | +* Added test for item callbacks |
| 201 | +* dataset.datatypes.FormatProp/new behavior: added `ignore_error` argument, default to True (ignores string formatting error: ValueError) |
| 202 | +* disthelpers: |
| 203 | + * Distribution.Setup: added `target_dir` option |
| 204 | + * Distribution.build: added `create_archive` option to create a ZIP archive after building the package |
| 205 | + * cx_Freeze: added support for multiple executables |
| 206 | + * added support for h5py 2.0 |
| 207 | + * added support for Maplotlib 1.1 |
| 208 | +* Allow DateTime edit widgets to popup calendar |
| 209 | + |
| 210 | +## Version 1.4.0 ## |
| 211 | + |
| 212 | +Possible API compatibility issues: |
| 213 | + |
| 214 | +* disthelpers: removed functions remove_build_dist, add_module_data_files, |
| 215 | + add_text_data_file, get_default_excludes, get_default_includes, |
| 216 | + get_default_dll_excludes, create_vs2008_data_files (...) which were |
| 217 | + replaced by a class named Distribution, |
| 218 | + see the new disthelpers test for more details (tests/dishelpers.py) |
| 219 | +* reorganized utils and configtools modules |
| 220 | + |
| 221 | +Other changes: |
| 222 | + |
| 223 | +* disthelpers: replaced almost all functions by a class named Distribution, |
| 224 | + and added support for cx_Freeze (module remains compatible with py2exe), |
| 225 | + see the new disthelpers test for more details (tests/dishelpers.py) |
| 226 | +* reorganized utils and configtools modules |
| 227 | + |
| 228 | +## Version 1.3.2 ## |
| 229 | + |
| 230 | +Since this version, `guidata` is compatible with PyQt4 API #1 *and* API #2. |
| 231 | +Please read carefully the coding guidelines which have been recently added to |
| 232 | +the documentation. |
| 233 | + |
| 234 | +Possible API compatibility issues: |
| 235 | + |
| 236 | +* Removed deprecated wrappers around QFileDialog's static methods (use the wrappers provided by `guidata.qt.compat` instead): |
| 237 | + * getExistingDirectory, getOpenFileName, getOpenFileNames, getSaveFileName |
| 238 | + |
| 239 | +Bug fixes: |
| 240 | + |
| 241 | +* qtwidgets.ShowFloatArrayWidget: fixed string float formatting issue (replaced %f by %g) |
| 242 | +* Fixed compatiblity issues with PyQt v4.4 (Contributor: Carlos Pascual) |
| 243 | +* Fixed missing 'child_title' attribute error with FileOpenItem, FilesOpenItem, FileSaveItem and DirectoryItem |
| 244 | +* (Fixes Issue 8) disthelpers.add_modules was failing when vs2008=False |
| 245 | + |
| 246 | +Other changes: |
| 247 | + |
| 248 | +* added *this* changelog |
| 249 | +* qtwidgets: removed ProgressPopUp dialog (it is now recommended to use QProgressDialog instead, which is pretty much identical) |
| 250 | +* Replaced QScintilla by spyderlib (as a dependency for array editor, code editor (test launcher) and dict editor) |
| 251 | +* qtwidgets.DockWidgetMixin: added method 'setup_dockwidget' to change dockwidget's features, location and allowed areas after class instantiation |
| 252 | +* guidata.utils.utf8_to_unicode: translated error message in english |
| 253 | +* Add support for 'int' in hdf5 save function |
| 254 | +* guidata.dataset/Numeric items (FloatItem, IntItem): added option 'unit' (automatically add suffix ' (unit)' to label in edit mode and suffix ' unit' to value in read-only mode) |
| 255 | +* Improved dataset `__str__` method: code refactoring with read-only dataset widgets (DataItem: added methods 'format_string' and 'get_string_value', DataSet: added method 'to_string') |
| 256 | +* Added coding guidelines to the documentation |
| 257 | +* guidata.dataset.qtwidget: added specific widget (ShowBooleanWidget) for read-only display of bool items (text is striked out when value is False) |
| 258 | +* guidata.hdf5io.Dset: added missing keyword argument 'optional' (same effect as parent class Attr) |
| 259 | +* guidata.dataset.dataitems.IntItem objects: added support for sliders (fixes Issue 9) with option slider=True (see documentation) |
| 260 | + |
| 261 | +## Version 1.3.1 ## |
| 262 | + |
| 263 | +Bug fixes: |
| 264 | + |
| 265 | +* setup.py: added svg icons to data files |
| 266 | +* gettext helpers were not working on Linux (Windows install pygettext was hardcoded) |
| 267 | + |
| 268 | +Other changes: |
| 269 | + |
| 270 | +* hdf5io: printing error messages in sys.stderr + added more infos when failing to load attribute |
| 271 | + |
| 272 | +## Version 1.3.0 ## |
| 273 | + |
| 274 | +Bug fixes: |
| 275 | + |
| 276 | +* setup.py: added svg icons to data files |
| 277 | +* gettext helpers were not working on Linux (Windows install pygettext was hardcoded) |
| 278 | +* DataSet/bugfix: comment/title options now override the DataSet class `__doc__` attribute |
| 279 | +* Added missing option 'basedir' for FilesOpenItem |
| 280 | +* DirectoryItem: fixed missing child_title attribute bug |
| 281 | +* For all DataSet GUI representation, the comment text is now word-wrapped |
| 282 | +* Bugfix: recent versions of PyQt don't like the QApplication reference to be stored in modules (why is that?) |
| 283 | +* Bugfix/tests: always keep a reference to the QApplication instance |
| 284 | + |
| 285 | +Other changes: |
| 286 | + |
| 287 | +* setup.py: added source archive download url |
| 288 | +* Tests: now creating real temporary files and cleaning up at exit |
| 289 | +* qtAllow a callback on LineEditWidget to notify about text changes (use set_prop("display", "callback", callback)) |
| 290 | +* qthelpers: provide wrapper for qt.getOpen/SaveFileName to work around win32 bug |
| 291 | +* qtwidgets: optionally hide apply button in DataSetEditGroupBox |
| 292 | +* added module guidata.qtwidgets (moved some generic widgets from guidata.qthelpers and from other external packages) |
| 293 | +* qthelpers: added helper 'create_groupbox' (QGroupBox object creation) |
| 294 | +* Array editor: updated code from Spyder's array editor (original code) |
| 295 | +* Added package guidata.editors: contains editor widgets derived from Spyder editor widgets (array editor, dictionary editor, text editor) |
| 296 | +* Array editor: added option to set row/col labels (resp. ylabels and xlabels) |
| 297 | +* ButtonItem: changed callback arguments to*instance* (DataSet object), *value* (item value), *parent* (button's parent widget) |
| 298 | +* editors.DictEditor.DictEditor: moved options from constructor to 'setup' method (like ArrayEditor's setup_and_check), added parent widget to constructor options |
| 299 | +* Added DictItem type: simple button to edit a dictionary |
| 300 | +* editors.DictEditor.DictEditor/bugfixes: added action "Insert" to context menu for an empty dictionary + fixed inline unicode editing (was showing the error message "Unable to assign data to item") |
| 301 | +* guidata.qtwidgets: added 'DockableWidgetMixin' to fabricate any dockable QWidget class |
| 302 | +* gettext helpers: added support for individual module translation (until now, only whole packages were supported) |
| 303 | +* DataSetShowGroupBox/DataSetEditGroupBox: **kwargs may now be passed to the DataSet constructor |
| 304 | +* disthelpers: added 'scipy.io' to supported modules (includes) |
| 305 | +* Added new "value_callback" display property: this function is called when QLineEdit text has changed (item value is passed) |
| 306 | +* Added option to pass a text formatting function in DataSetShowWidget |
0 commit comments