============================
**Added**
- Added support for new ``one_page`` option in ``nengo-sphinx-theme``. (`101`_)
- Added the ``bones-format-notebook`` script to apply automated formatting, cleanup,
and static checking to Jupyter notebooks. (`32`_)
- Static script will now check that ``bones-format-notebook`` has been applied to all
notebooks in the ``docs`` directory. (`32`_)
- Added ``remote-script.sh`` CI script for running other CI scripts on a remote device.
(`124`_)
- Added `isort <https://pycqa.github.io/isort/>`_ configuration to
``pyproject.toml`` and check import order during static checks. (`121`_)
- Officially support and test against Python 3.9. (`136`_)
- Added ``skip`` option to codespell config, which can be used to specify files that
should be ignored. (`138`_)
- Added support for projects with type hints through the ``py_typed`` section. (`140`_)
- Added ``min_python`` option to the main section. The default ``python_requires``
in ``setup.py`` is now based on this, if not overridden. (`140`_)
- Added support for changing the main branch name with the ``main_branch``
config option. (`145`_)
- Added template for ``version.py``. (`151`_)
- Added ``apache`` license type. (`160`_)
- Added ``proprietary`` license type. (`162`_)
- Added several actions for use with Github Actions:
``setup`` initializes a python environment,
``generate-and-check`` runs ``bones-generate`` and ``bones-check``,
``run-script`` runs a CI script such as ``static.sh``, and
``coverage-report`` generates combined coverage reports. (`166`_)
- Added support for ``docformatter`` (and static checks will now enforce that
docformatter has been applied). (`168`_)
- Added support for building and releasing Python projects through the
``deploy`` CI script. (`172`_)
- Added a ``bones check-deploy`` script that checks several items that we
depend on for releases. (`172`_)
**Changed**
- Restrict pylint version to <2.5 due to issue when the package being checked
is not installed in the current environment. (`103`_)
- Increased minimum ``pylint`` version to 2.5.1 (`32`_)
- Documentation ``[source]`` links now point to GitHub. (`117`_)
- Separate tokens, ``PYPI_TOKEN`` and ``PYPI_TEST_TOKEN``, must now be specified
for deploying to PyPI and TestPyPI, respectively. (`127`_)
- Builds for this repository now run on TravisCI.com instead of TravisCI.org. (`130`_)
- Drop support for Python 3.5. (`123`_)
- Doc script will now install Sphinx>=3.1.2. (`137`_)
- Codespell ignore words is now specified via the ``codespell.ignore_words`` section
of ``setup_cfg`` (instead of in the static CI script config). As a result, it will
now apply to all invocations of codespell (not just from the static script). (`138`_)
- ``bones-format-notebook --check`` will now require that all ``codespell`` checks pass.
(`138`_)
- Switched to new version of Codecov uploader and added checksum verification. (`150`_)
- Increased minimum ``black`` version to 21.12b0. (`104`_, `159`_)
- License fields in ``setup.py`` are now set using ``license_rst.type``. (`161`_)
- Trove classifiers in ``setup.py`` are now sorted alphabetically. (`161`_)
- Updated Nengo license and renamed to ABR license. (`157`_)
- The license type is now specified through a ``license`` key at the top level.
If not specified, it defaults to ``proprietary``. (`157`_)
- All CI scripts now support running either through Github Actions or TravisCI.
(`166`_)
- Added additional config options to mypy ``setup.cfg`` template. (`170`_)
- Restrict setuptools version to <64 (fixes issues with various code inspection tools
like mypy, pylint, IDE integrations). (`173`_)
- Removed the ``deploy_dists`` configuration option for the ``deploy`` script,
and replaced it with a boolean ``wheel`` option. (`172`_)
- Consolidated all scripts under a single ``bones`` command. Subcommands have the
same names as before, without the ``bones-`` prefix (e.g., ``bones-generate``
is now ``bones generate``). (`172`_)
**Removed**
- Removed ``before_script``, ``before_cache``, ``before_deploy``, and ``after_deploy``
steps from CI scripts (they weren't actually used anywhere). (`166`_)
- Removed ``analytics_id`` option for ``docs/conf.py``. Create a custom ``docs/conf.py``
template and override the ``analytics`` block if you need to customize analytics
tracking. (`169`_)
- Removed support for TravisCI in CI scripts. All downstream repositories should
switch to use Github Actions. (`172`_)
**Fixed**
- Intermittent failures installing miniconda in the remote script have been fixed by
retrying the miniconda install if it fails. (`130`_)
- Fixed an issue in which Codecov would not report on files where a file in a
deeper folder shares the same name. (`132`_)
- Fixed an issue in which CI scripts did not have access to the same configuration
options as other templates. (`144`_)
- Removed pylint disable for ``bad-continuation`` as it no longer exists. (`163`_)
- Removed pylint disable for ``no-self-use`` as it is now optional. (`163`_)
- Static checks will not try to check ``docs`` directory if it doesn't exist. (`165`_)
- Static checks will no longer assume that CI scripts are in a folder named ``.ci``
(it will look for any scripts in the same folder as the static script). (`166`_)
- Black will now ignore excluded files even if that filename is passed directly
to black (e.g. when running through a precommit hook or IDE plugin). (`161`_)
- Only delete remote build directories more than a day old. (`172`_)
.. _32: https://github.com/nengo/nengo-bones/pull/32
.. _101: https://github.com/nengo/nengo-bones/pull/101
.. _103: https://github.com/nengo/nengo-bones/pull/103
.. _104: https://github.com/nengo/nengo-bones/pull/104
.. _114: https://github.com/nengo/nengo-bones/pull/114
.. _117: https://github.com/nengo/nengo-bones/pull/117
.. _121: https://github.com/nengo/nengo-bones/pull/121
.. _123: https://github.com/nengo/nengo-bones/pull/123
.. _124: https://github.com/nengo/nengo-bones/pull/124
.. _127: https://github.com/nengo/nengo-bones/pull/127
.. _130: https://github.com/nengo/nengo-bones/pull/130
.. _132: https://github.com/nengo/nengo-bones/pull/132
.. _136: https://github.com/nengo/nengo-bones/pull/136
.. _137: https://github.com/nengo/nengo-bones/pull/137
.. _138: https://github.com/nengo/nengo-bones/pull/138
.. _140: https://github.com/nengo/nengo-bones/pull/140
.. _144: https://github.com/nengo/nengo-bones/pull/144
.. _145: https://github.com/nengo/nengo-bones/pull/145
.. _150: https://github.com/nengo/nengo-bones/pull/150
.. _151: https://github.com/nengo/nengo-bones/pull/151
.. _157: https://github.com/nengo/nengo-bones/pull/157
.. _159: https://github.com/nengo/nengo-bones/pull/159
.. _160: https://github.com/nengo/nengo-bones/pull/160
.. _161: https://github.com/nengo/nengo-bones/pull/161
.. _162: https://github.com/nengo/nengo-bones/pull/162
.. _163: https://github.com/nengo/nengo-bones/pull/163
.. _165: https://github.com/nengo/nengo-bones/pull/165
.. _166: https://github.com/nengo/nengo-bones/pull/166
.. _168: https://github.com/nengo/nengo-bones/pull/168
.. _169: https://github.com/nengo/nengo-bones/pull/169
.. _170: https://github.com/nengo/nengo-bones/pull/170
.. _171: https://github.com/nengo/nengo-bones/pull/171
.. _172: https://github.com/nengo/nengo-bones/pull/172
.. _173: https://github.com/nengo/nengo-bones/pull/173