- Remove Python 3.6 support
- Convert to default ANSI escape code colored diff output in terminal environments only (this is a change in behavior from previous default that required
-c/--coloroption to toggle colored output on) - Add new
--nocoloroption to disable colored diff output in terminals - Maintain
-c/--coloroption to toggle ANSI escape code colored diff output on in non-terminal environments and avoid breakage in existing workflows - Modify user notice on no OpenTable diff from "There is no difference between the files" to "There is no difference in the tested OpenType tables"
- Stabilize external executable diffs with the
--externaloption - Add Python 3.10 testing, drop Python 3.6 testing
- Bump aiofiles dependency to v0.7.0
- Bump cffi dependency to v1.15.0
- Bump fonttools dependency to v4.27.1
- Bump idna dependency to v3.3
- Bump multidict dependency to v5.2.0
- Bump pycares dependency to v4.1.2
- Bump pygments dependency to v2.10.0
- Bump rich dependency to 10.12.0
- Bump typing-extensions dependency to v3.10.0.2
- Bump yarl dependency to v1.7.0
- Add indeterminate progress indicators during processing
- Bump aiodns dependency to v3.0.0
- Bump chardet dependency to v4.0.0
- Bump pycares dependency to v4.0.0
- Bump fonttools dependency to v4.23.1
- Add new rich package dependency
- Add pull request support to GitHub Actions workflow configurations
- Bump fonttools dependency to v4.22.1
- Fix broken unit tests that resulted from backwards incompatible ttx XML output format changes as of fonttools v4.22.0 (fonttools/fonttools#2238)
- Bump aiohttp dependency to v3.7.4
- Bump cffi dependency to v1.14.5
- Bump fonttools dependency to v4.21.1
- Bump idna dependency to v3.1
- Bump multidict dependency to v5.1.0
- Broaden dependency support for Python wheels on the Windows platform
- Bump aiofiles dependency to v0.6.0
- Bump aiohttp dependency to v3.7.2
- Bump attrs dependency to v20.3.0
- Bump fonttools dependency to v4.17.0
- Bump multidict dependency to v5.0.2
- Bump yarl dependency to v1.6.3
- fix: apply aiohttp patch version 3.7.1 to address dependency versioning conflict with multidict dependency
- Add cPython 3.9 interpreter unit testing
- Add CodeQL static source testing
- Bump fonttools dependency to v4.16.1
- Bump aiohttp dependency to v3.6.3
- Bump multidict dependency to v5.0.0
- Bump yarl dependency to v1.6.2
- Add type annotations to all Python source files
- Refactor
remote.pymodule namedtuple to Py3.6+ styleNamedTuplederived class with type annotations - Transition from pytype to mypy as static type checker
- Add GitHub Action static type check configuration
- Refactor import statements with default
isortformatting - Bump fonttools dependency to v4.15.0
- update cffi dependency to bug fix release v1.14.3
- Refactor to maintain line length < 90
- Add flake8 linting as part of the CI
- Transition to GitHub Actions CI testing service
- Bump attrs dependency to v20.2.0
- Bump cffi dependency to v1.14.2
- Bump fonttools dependency to v4.14.0
- Bump idna dependency to v2.10
- Bump multidict dependency to v4.7.6
- Bump yarl dependendency to v1.5.1
- Backward incompatible change in the default unified diff approach for large files (fixes #54)
- Transition to the upstream cPython implementation of
difflib.unified_difffor diff execution - Remove cPython
difflibderivative that was distributed with this project - Eliminate dual license structure with removal of cPython license and transition to Apache License, v2.0 only
- Bump cffi to 1.14.0
- Bump fonttools to 4.6.0
- Bump idna to 2.9
- Bump multidict to 4.7.5
- Bump pycares to 3.1.1
- Bump pycparser to 2.20
- Source formatting (black)
- Add Py3.8 CI testing on Linux
- Add Py3.6 64-bit testing, Py3.8 64-bit testing on Windows
- Use pinned dependency versions in CI testing with tox
- Bump fonttools from 4.2.2 to 4.2.4
- Bump multidict from 4.7.3 to 4.7.4
- Bump pycares from 3.1.0 to 3.1.1
fdiffexecutable: added support for external executable tool diff execution with a new--externaloption- Library: major refactor of the
fdiff.diffmodule - Library: add new public
external_difffunction to thefdiff.diffmodule - Library: minor refactor of
fdiff.colormodule (removed unnecessary import) - [bugfix] Library: fixed bug in ANSI color output
- updated fontTools dependency to v4.2.2
- updated aiohttp dependency to v3.6.2
- pinned the versions of the following dependencies of dependencies in the requirements.txt file: async-timeout, attrs, cffi, chardet, idna, multidict, pycares, pycparser, yarl
fdiffexecutable: Fix help message - added information about pre/post file argument support for URL in addition to local file paths
- Performance optimizations - Library: New default parallel TTX XML dump on systems that have more than one CPU, falls back to sequential execution on single CPU systems -
fdiffexecutable: New--nompoption that overrides the default multi processor optimizations fdiffexecutable: Added new default standard output user notification that no difference was identified when the files under evaluation are the same. This replaces no output in the standard output stream and an exit status code of zero as the indicators that there were no differences identified between the files.
- Added support for remote font files with asynchronous I/O GET requests. This feature supports combinations of local and remote font file comparisons.
fdiffexecutable: added support for remote font files with command line URL argumentsfdiffexecutable: refactored unified diff error message formatting- Library: add new
fdiff.remotemodule - Library: add new
fdiff.aiomodule - Library: add new
fdiff.exceptionsmodule - Library: refactored
fdiff.diff.unified_diff()function to support remote files through URL - Library: refactored local file path checks to support remote files via URL
- added new aiohttp, aiodns, aiofiles dependencies to requirements.txt
- added new aiohttp, aiodns, aiofiles dependencies to setup.py
- added pytest-asyncio dependency to setup.py [dev] install target
- added pytest-asyncio dependency instatllation to tox.ini, .travis.yml, .appveyor.yml configuration files
- Py3.6+ updates: removed
# -*- coding: utf-8 -*-header definitions (Thanks Niko!) - updated fontTools dependency to v4.0.1 (from v4.0.0)
- Updated README.md documentation
- Added support for head and tail diff output filter functionality -
fdiffexecutable: add support for filtered diff output by top n lines with new--headoption -fdiffexecutable: add support for filtered diff output by last n lines with new--tailoption - Library: add newfdiff.textitermodule - Add README.md table of contents
- Added support for OpenType table include and exclude filters -
fdiffexecutable: added--includeoption and defined comma delimited syntax for OpenType table command line definitions -fdiffexecutable: added--excludeoption and defined comma delimited syntax for OpenType table command line defintions -fdiffexecutable: added validation check for use of mutually exclusive--includeand--excludeoptions - Library: added newfdiff.utils.get_tables_argument_listfunction - Library: updatedfdiff.diff.u_difffunction with newinclude_tablesandexclude_tablesarguments - Library: added OpenType table validations for user-specified name values in thefdiff.diff.u_difffunction. These checks confirm that at least one of the requested files includes tables specified with the new--includeand--excludeoptions
- Initial release with support for the following features:
- local font file unified diff of OpenType table data dumped from the font binaries in the TTX data serialization format
- ANSI escape code colored diff renders with the
-cor--colorcommand line options
- Custom version of the third party Python standard library
difflibmodule that includes a modification of the "autojunk" heuristics approach to achieve a significant unified diff performance improvement with large text files like those that are encountered in the typical TTX dump from fonts
- pre-release version that did not include executable source code