-------------
Thanks to all who contributed to the release:
* Aaron Ayres
* Alex Chabot-Leclerc
* Kit Choi
* Nicola De Mitri
* Mark Dickinson
* Matt Hancock
* Midhun Madhusoodanan
* Shoeb Mohammed
* Rahul Poruri
* Martin Renou
* Jonathan Rocher
* Kuya Takami
* Joris Vankerschaver
* Corran Webster
* John Wiggins
* Xiaoyu Wu
New features/Improvements
* Add rectangular selection tool (482)
* Add missing property index_range to 1D plots (491)
* Support renderer traits (514)
Removals/Deprecations
* Remove uses of PyArray_FromDims (503)
* Remove unused _speedups module (504)
* Remove SelectableOverlayPlotContainer and references to it (574)
* Remove chaco.datamapper and subdivision code (577)
* Remove serializable module and its tests (598)
* Delete codecov yaml configuration file (622)
* Remove examples for the vtk backend in chaco (645)
* Kill chaco.shell and related code (667)
* Remove objects/modules which explicitly raised a deprecation warning (670)
* Remove "chaco.scatter_markers" module (677)
* Delete "chaco.chaco_version" (678)
* Remove deprecated "ColorMapper._map" method (684)
* Delete sample_template.plt (685)
* Remove ChacoPlotItem / ChacoPlotEditor (688)
* Delete scalar_image_function_inspector_old.py (689)
* Officially deprecated VariableSizeScatterPlot (691)
* Remove PlotFrames (692)
* Delete "test_style.pss" (697)
* Remove plot_template.py (702)
* Remove a couple redundant old files (711)
* Delete PopupablePlot (717)
Fixes
* Fix typo in the error name (484)
* Fix attempts to get the shape attribute of a list or tuple. (487)
* Fix scrollbar demo and update docstring (489)
* Fix stacked bar plot example, by using the correct starting_value (498)
* Limit the min zoom out factor along x axis to prevent date range error (500)
* Do not expose 'auto' for infinite series (501)
* Fix zoomout issues (505)
* Fix zoom not working with contour plots (506)
* Fix and clean up multiaxis.py example (513)
* Enforce underscore for click command (523)
* Handle index=None in ScatterInspector (540)
* Have ArrayDataSource.get_data return empty(shape=0,)), not 0.0 if _data is None (578)
* Return correct sized tuples of all 0s not None if image plot resized too small (589)
* Resolve the NotifierNotFound error in testsuite (601)
* Catch nans before they cause crash in auto_ticks (636)
* Fix windows/pyqt test_dont_crash_on_click failure (663)
* Use draw_marker_at_points if possible otherwise use draw_path_at_points in ColormappedScatterPlot (672)
* Fix a couple of demos (676)
* Use plot_range_event (aka event.new) not just event in stock_prices (728)
* Fix broken test and handle case when _data is None in ArrayDataSource.get_data_mask() (731)
* Replace [] default for data with None (734)
Documentation/examples
* Documentation Refactor (462)
* Setup online redirect and proper index page for docset (517)
* Replace all jet color map use in examples with viridis (557)
* Update various comments and docstrings (567)
* Clean up updates for basic_elements docs pages (570)
* Use Enthought Sphinx Theme if available. (571)
* Fix broken image links on quickstart page (588)
* Replace handmade api docs with autogenerated api docs (637)
* Miscellaneous documentation fixes/changes (642)
* Add module doc string for chaco.api (649, 665)
* Use : instead of when needed (650)
* Update modules_and_classes.rst (652)
* Remove annotated examples from the usermanual (653)
* Use sphinx todo for currently empty sections of docs (654)
* Remove optparse from example (655)
* Delete the quickstart page from the docs (668)
* Remove references to chaco.shell from the documentation (669)
* Update van der waal example (680)
* Remove scipy tutorial content (681)
* Remove chaco_talk_apr_2008 from docs (682)
* Update hyetograph example (687)
* Remove unused images from codebase (712)
* Organize annotated examples (721)
* Link to "how do i", not "faq", from home page (722)
* Matplotlib to chaco cheatsheet in docs (723)
* Contribute examples to etsdemo (751)
Maintenance
* Import from traits.api instead of from traits.has_traits (509)
* Remove commented code (511, 556, 582, 647)
* Drop Python < 3.6 support (554, 555)
* Remove redundant 'control' in ZoomTool (565)
* Clean up style, fix warnings and broken links in tutorials/examples/faq (568)
* Update copyright year in license.txt (569)
* Remove EOF file markers (579)
* Remove unnecessary unittest.main calls in tests (581)
* Replace on_trait_change with observe (585, 590, 591, 625, 630)
* Remove dummy return statements (592, 593, 594)
* Run black on the codebase (599)
* Remove outdated coverage badge (623)
* Use requires_redraw when possible (626)
* Deal with __getstate__ methods (633)
* Dont alias traitsui.api as tui (634)
* Use api modules for ETS packages where possible (643)
* Remove unnecessary print statements (646)
* Use property decorator instead of property function (651)
* Its TraitsUI, not Traits UI (656)
* Remove unnecessary uses of "use_draw_order" (661)
* Remove all uses/definitions of use_draw_order (671)
* Import color palette from chaco.api directly (675)
* Remove backwards compatibily imports from enable (679)
* Move tests in "tests_with_backend" submodule into "tests" submodule (683)
* Rename test so it is discovered by unittest discover (693)
* Cleanup License files (696)
* Update "super" usage (703, 706, 725)
* Use a plot default method instead of overriding the init method in examples (704, 709)
* Replace custom "assert_raises" with "unittest.TestCase.assertRaises" (705)
* Concatenate change logs (710)
* Re-export PolarLineRenderer and PolarMapper from chaco.api (732)
* Add editable option to ci install command (733)
* Remove calls to Component._draw_component (737)
* Add new chaco.plots submodule (738)
* Use mock through unittest (740)
* Consolidate overlays into "chaco.overlays" (741, 786)
* Replace bg_color with bgcolor (742)
* Revive ScalyPlot (744)
* Add/Update copyright headers (755)
* Plot Containers Refactor (757, 758, 764)
* Remove all definitions / uses of _draw_component (743, 772)
Build/CI
* Update edm and install/config scripts (492)
* Use Cython to build extension modules (502)
* Remove Python 2.7, 3.5 testing, add PyQt 5 (524)
* Add source click option used on cron jobs to install ets packages from source (532)
* Switch on default warning flag for CI test command (537)
* Use PySide2 from EDM instead of PyPI and Use the latest EDM version (3.0.1) (538)
* Disable macOS builds on Travis CI (543)
* Fix cron job not installing additional dependencies (544)
* Add ci command for building documentation (566)
* Run flake8 on CI but ignore all existing errors (600)
* Add GitHub Actions CI workflow (631)
* Import version from installed package if the file doesnt exist (644)
* Skip test_dont_crash_on_click on windows/pyqt (666)
* Cleanup ci module and setup (695)
* Unskip no longer failing test (714)
* Add pyproject.toml specifying numpy and cython as build deps (730, 747, 779)