==================
Removed
-------
- Remove unused dependency: vcrpy.
- Remove ``externals`` (fiwalk extension for ISO disk images).
- Remove virus scanning capabilities.
- Remove UUID log files that were included in AIPs.
- Remove ``null`` values from the JSON-encoded workflow, reducing the size of
the default workflow document significantly.
Added
-----
- Add scriv to manage our changelog.
- Add pyright, another static type checker that integrates well with Visual
Studio Code. We should remove mypy at some point.
- Add django-types, type stubs for Django compatible with pyright.
- Add ``make workflow`` to render the current workflow in the browser using
the latest version of amflow available.
- Add ``tox -e publish`` to build and publish the packages to PyPI.
Changed
-------
- Add time precision to values written to ``premis:dateCreatedByApplication``.
- Bump supported versions of Python to 3.11 and 3.12.
- Ruff is now used for linting and formatting, replacing flake8, black or
pyupgrade. More tools may be removed as the Ruff team adds more features,
e.g. bandit, vulture...
- The project has been migrated to ``pyproject.toml`` entirely, ``setup.cfg``
and ``setup.py`` were removed, as well as other configuration files like
``tox.ini``, ``pytest.ini`` or ``.bandit``.
- Multiple improvements in CI, e.g.: image caching for faster builds, use of
``.python-version``, combined coverage data across multiple Python versions,
use of tox without Docker for unit testing.
- ``fpr`` is not a Django app anymore but a standard Python package with new
abstractions to load rules directly from JSON-encoded documents generated by
Archivematica. Fetching new rules from Archivematica is now easier, see
:doc:`contributing` for more. This change allows for future developments
where multiple ``fpr`` could be supported.
Fixed
-----
- The Docker image is now built using ``requirements.txt`` instead of
``requirements-dev.txt`` and uses ``.python-version`` to find the default
Python version preferred by the project.
- Twine now uses ``.pypirc`` for credentials.
- The docs site now shows the last known release version using
``git describe --tags --abbrev=0`` as opposed to relying on
``a3m.__version__``. This ensures that the docs site shows the latest
published release as opposed to the latest release in development.
.. _changelog-0.6.0: