== Version 1.4.1 ==

=== Bug fixes (since v1.4.0) ===

  * !ColorItem for recent versions of Qt: in QLineEdit widget, the text representation of color was str(!QColor(...)) instead of str(!QColor(...).name())
  * guidata.qt compat package: fixed _modname typo
  * hdf5io:
    * optional attribute mechanism generalized to both Attr and !DSet objects (for both saving and loading data)
    * !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)
  * disthelpers:
    * vs2008 option was ignored
    * added 'C:\Program Files (x86)' to bin includes (cx_Freeze)
  * Data items/callbacks: fixed callbacks for !ChoiceItem (or derived items) which were triggered when other widgets were triggering their own callbacks...

=== Other changes (since v1.4.0) ===

  * Added test for item callbacks
  * dataset.datatypes.!FormatProp/new behavior: added `ignore_error` argument, default to True (ignores string formatting error: ValueError)
  * disthelpers:
    * Distribution.setup: added `target_dir` option
    * Distribution.build: added `create_archive` option to create a ZIP archive after building the package
    * cx_Freeze: added support for multiple executables
    * added support for h5py 2.0
    * added support for Maplotlib 1.1
  * Allow !DateTime edit widgets to popup calendar

----

== Version 1.4.0 ==

=== Possible API compatibility issues (since v1.3.2) ===

  * disthelpers: removed functions remove_build_dist, add_module_data_files,
    add_text_data_file, get_default_excludes, get_default_includes, 
    get_default_dll_excludes, create_vs2008_data_files (...) which were 
    replaced by a class named Distribution, 
    see the new disthelpers test for more details (tests/dishelpers.py)
  * reorganized utils and configtools modules

=== Other changes (since v1.3.2) ===

  * disthelpers: replaced almost all functions by a class named Distribution,
    and added support for cx_Freeze (module remains compatible with py2exe),
    see the new disthelpers test for more details (tests/dishelpers.py)
  * reorganized utils and configtools modules

----

== Version 1.3.2 ==

Since this version, `guidata` is compatible with !PyQt4 API #1 *and* API #2.
Please read carefully the coding guidelines which have been recently added to 
the documentation.

=== Possible API compatibility issues (since v1.3.1) ===

  * Removed deprecated wrappers around QFileDialog's static methods (use the wrappers provided by `guidata.qt.compat` instead):
    * getExistingDirectory, getOpenFileName, getOpenFileNames, getSaveFileName

=== Bug fixes (since v1.3.1) ===

  * qtwidgets.!ShowFloatArrayWidget: fixed string float formatting issue (replaced %f by %g)
  * Fixed compatiblity issues with !PyQt v4.4 (Contributor: Carlos Pascual)
  * Fixed missing 'child_title' attribute error with !FileOpenItem, !FilesOpenItem, !FileSaveItem and !DirectoryItem
  * (Fixes Issue 8) disthelpers.add_modules was failing when vs2008=False

=== Other changes (since v1.3.1) ===

  * added *this* changelog
  * qtwidgets: removed !ProgressPopUp dialog (it is now recommended to use QProgressDialog instead, which is pretty much identical)
  * Replaced QScintilla by spyderlib (as a dependency for array editor, code editor (test launcher) and dict editor)
  * qtwidgets.!DockWidgetMixin: added method 'setup_dockwidget' to change dockwidget's features, location and allowed areas after class instantiation
  * guidata.utils.utf8_to_unicode: translated error message in english
  * Add support for 'int' in hdf5 save function
  * 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)
  * 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')
  * Added coding guidelines to the documentation
  * guidata.dataset.qtwidget: added specific widget (!ShowBooleanWidget) for read-only display of bool items (text is striked out when value is False)
  * guidata.hdf5io.Dset: added missing keyword argument 'optional' (same effect as parent class Attr)
  * guidata.dataset.dataitems.!IntItem objects: added support for sliders (fixes Issue 9) with option slider=True (see documentation)

----

== Version 1.3.1 ==

=== Bug fixes (since v1.3.0) ===

  * setup.py: added svg icons to data files
  * gettext helpers were not working on Linux (Windows install pygettext was hardcoded)

=== Other changes (since v1.3.0) ===

  * hdf5io: printing error messages in sys.stderr + added more infos when failing to load attribute

----

== Version 1.3.0 ==

=== Bug fixes (since v1.2.5) ===

  * setup.py: added svg icons to data files
  * gettext helpers were not working on Linux (Windows install pygettext was hardcoded)
  * !DataSet/bugfix: comment/title options now override the !DataSet class __doc__ attribute
  * Added missing option 'basedir' for !FilesOpenItem
  * !DirectoryItem: fixed missing child_title attribute bug
  * For all !DataSet GUI representation, the comment text is now word-wrapped
  * Bugfix: recent versions of !PyQt don't like the QApplication reference to be stored in modules (why is that?!)
  * Bugfix/tests: always keep a reference to the QApplication instance

=== Other changes (since v1.2.5) ===

  * setup.py: added source archive download url
  * Tests: now creating real temporary files and cleaning up at exit
  * qtAllow a callback on !LineEditWidget to notify about text changes (use set_prop("display", "callback", callback))
  * qthelpers: provide wrapper for qt.getOpen/!SaveFileName to work around win32 bug
  * qtwidgets: optionally hide apply button in !DataSetEditGroupBox
  * added module guidata.qtwidgets (moved some generic widgets from guidata.qthelpers and from other external packages)
  * qthelpers: added helper 'create_groupbox' (QGroupBox object creation)
  * Array editor: updated code from Spyder's array editor (original code)
  * Added package guidata.editors: contains editor widgets derived from Spyder editor widgets (array editor, dictionary editor, text editor)
  * Array editor: added option to set row/col labels (resp. ylabels and xlabels)
  * !ButtonItem: changed callback arguments to  *instance* (!DataSet object), *value* (item value), *parent* (button's parent widget)
  * editors.!DictEditor.!DictEditor: moved options from constructor to 'setup' method (like !ArrayEditor's setup_and_check), added parent widget to constructor options
  * Added !DictItem type: simple button to edit a dictionary
  * 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")
  * guidata.qtwidgets: added '!DockableWidgetMixin' to fabricate any dockable QWidget class
  * gettext helpers: added support for individual module translation (until now, only whole packages were supported)
  * !DataSetShowGroupBox/!DataSetEditGroupBox: **kwargs may now be passed to the !DataSet constructor
  * disthelpers: added 'scipy.io' to supported modules (includes)
  * Added new "value_callback" display property: this function is called when QLineEdit text has changed (item value is passed)
  * Added option to pass a text formatting function in !DataSetShowWidget
