Apptools CHANGELOG
==================

Version 5.0.0
~~~~~~~~~~~~~

Released : DD MM YYYY

This is a major release mainly relating to code modernization. In this release,
support for Python versions < 3.6 have been dropped. Numerous dated
sub-packages and code fragments have been removed. Additionally, there were
various fixes and documentation updates.

Fixes
-----
* Fix SyntaxWarning in persistence.file_path (#116)
* Fix container items change event being saved in preferences (#196)
* Fix synchronizing preference trait with name *_items (#226)

Deprecations
------------
* Deprecate apptools.undo subpackage (undo was moved to pyface) (#250)

Removals
--------
* Remove ``appscripting`` subpackage (#172)
* Remove ``template`` subpackage (#173)
* Remove ``permission`` subpackage (#175)
* Remove ``lru_cache`` subpackage (#184)
* Remove support for Python 2.7 and 3.5 (#190)
* Remove the ``apptools.sweet_pickle`` subpackage.  Note that users of
  sweet_pickle can in some cases transition to using ``apptools.persistence``
  and pickle from the python standard library (see changes made in this PR to
  ``apptools.naming`` for more info) (#199)
* Remove ``help`` subpackage (#215)
* Remove NullHandler from ``apptools.logger`` (#216)
* Remove ``apptools.logger.filtering_handler`` and ``apptools.logger.util`` submodules (#217)
* Remove deprecated create_log_file_handler function (#218)
* Remove use of ``apptools.type_manager`` from ``apptools.naming``. Then,
  remove ``apptools.type_manager`` entirely.  Finally, remove
  ``apptools.naming.adapter``. (#219)
* Remove ``apptools.persistence.spickle`` submodule (#220)
* Remove ``apptools.naming.ui`` sub package (#233)

Documentation changes
---------------------
* Update documentation for Preferences (#198)
* Add a brief section to documentation for ``apptools.naming`` (#221)
* Document the ``apptools.io`` and ``apptools.io.h5`` sub packages (#237)
* Fix a few broken links in the documentation (#248)

Test suite
----------
* Fix AttributeError on Python 3.9 due to usage of ``base64.decodestring`` in tests (#210)
* Make optional dependencies optional for tests (#260)

Build System
------------
* Add extras_require to setup.py for optional dependencies (#257)

Version 4.5.0
~~~~~~~~~~~~~

Released : 10 October 2019

* Add missing `long_description_content_type` field in setup. (#108)
* Remove use of `2to3`. (#90)
* Use etstool for CI tasks. Setup travis macos and appveyor CI. (#92)
* Temporarily change cwd when running tests. (#104)
* Update broken imports. (#95)
* Add `six` to requirements. (#101)
* Remove one more use of the deprecated `set` method. (#103)
* Use `trait_set` instead of the now deprecated `set` method. (#82)
* Address one more numpy deprecation warning. (#100)
* Address numpy deprecation warnings. (#83)
* Test the package on Python 3.5, 3.6 on CI. (#78)
* Fix mismatched pyface and traitsui requirements. (#73)
* Drop support for Python 2.6. (#63)
* Fix `state_pickler.dump` on Python 2. (#61)
* Fix a few spelling mistakes in documentation. (#87)

Version 4.4.0
~~~~~~~~~~~~~

* Apptools now works with Python-3.x. (#54)
* Travis-ci support with testing on Python 2.6, 2.7 and 3.4. (#55)


Change summary since 4.2.1
~~~~~~~~~~~~~~~~~~~~~~~~~~

Enhancements

* Apptools now have a changelog!
* Preferences system defaults to utf-8 encoded string with ConfigObj providing
  better support for unicode in the PreferenceHelper (#41, #45).
* Added a traitsified backport of Python 3's lru_cache (#39).
* Added PyTables support to the io submodule (#19, #20, and #24 through #34).
* Added a SelectionService for managing selections within an application (#15, #16, #17,
  #23).
