- Updated cc lines and officially made note of change in maintainers
- Expanded typing annotations through-out codebase
- Configured
prek/pre-commitfor CI linting and local developer workflows - Additional configuration following v5.5.2's migration of linters
- Fine tune ruff to enforce typing and black style opinions (Code style remains PEP-8 aligned)
- Cleanup/gitignore for ruff
- Fixed a typo in previous changelog
- Aligned parsing logic with PEP 753
- Refactored to better leverage f-strings to improve performance slightly
- Fixed various warnings in tests
- Got rid of historical Python 3.5 left-overs
- Added support for multi-line allow-only and fail-on arguments
- Relaxed parsing of most whitespace around semicolon delimiter
- Added simple
SECURITY.mdpolicy document - Fixed a duplication behavior in output when a package was found at multiple paths (e.g., symlinks)
- Fixed issue where lowercase license filenames were ignored
- Improved project
Makefilestability for developers - Migrated from the linters black and isort to ruff
- Code style remains PEP-8 aligned, but should be slightly more readable.
- Linting configuration remains in
pyproject.toml
- Updated
CONTRIBUTORS.mdguide with related changes
- Fixed typographical issue in README examples, closing GHI #209.
- Fixed typographical issue in docstring found by codespell.
- Aligned Project URLs in
pyproject.tomlwith PEP 753 - Brought
pyproject.toml(e.g., packaging metadata) into alignment with PEP 639 and related packaging guidance.- Improved
MANIFEST.intosetuptools-scmbuild logic with better filtering, closing GHI #266
- Improved
- Fixed a regression in linting via
blackby deprecating support for python 3.9, closing GHI #264- Applied
black 26.1.0suggestions to codebase, closing GHI #269
- Applied
- Replace dependency on
tomliwith builtintomllibfor Python 3.11 - Added support for
License-Expressionmetadata field, see PEP 639 - Added
--from=expressionoption - Breaking change: The
--from=alloutput now includes theLicense-Expressionvalue - Fixed KeyError with
--partialand--allow-onlyif a license matches multiple allowed licenses. - Declare support for Python 3.13 and 3.14
- Added RST/Sphinx workflow example for
--with-license-fileoption in documentation
- Dropped support Python 3.8
- Clarified support for Python 3.12
- Migration pyproject.toml about this package
- Breaking changes
- Implicitly depends on tomli library since version 4.5.0
- Fixes "tomli" to be output only with
--with-systemoption
- Implement new feature pyproject.toml support
- Implement new option
--partial-match
- Maintain to pass test with wcwidth>=0.2.10
- Always terminate
--allow-onlyand--fail-onmessages with a newline - Always terminate files created with
--output-filewith a newline
- Better handling extracting URLs from
Project-URL
- Fix to treat package names as normalized as in PEP 503 with
--packagesand--ignore-packagesoption
- Implement new option
--no-version
- Implement new option
--with-maintainers - Implement new option
--python - Allow version spec in
--ignore-packagesparameters - When the
Authorfield isUNKNOWN, the output is automatically completed fromAuthor-email - When the
home-pagefield isUNKNOWN, the output is automatically completed fromProject-URL
- Support case-insensitive license name matching around
--fail-onand--allow-onlyparameters
- Escape unicode output (to e.g.
{) in the html output
- Add type annotations and code formatter
- Fix "pip-licenses" is missing in output of
pip-licenses --with-systemoption
- Support for Python 3.11
- Dropped support Python 3.7
- Migrate Docker base image from Alpine to Debian 11-slim
- Breaking changes
- Does not work with PTable and depends on prettytable
- Depend on importlib_metadata rather than pip
- Search for path defined in PEP 639 with
--with-license-fileoption - Dropped support Python 3.6
- Skip directories when detecting license files
- Support pip 21.3 or later
- Ignore spaces around
--fail-onand--allow-onlyparameters
- Fix the order in which multiple licenses are output
- Handle multiple licenses better with options
--fail-onand--allow-only - Small change in output method for multiple licenses, change the separator from comma to semicolon
- Up to 3.4.0:
Python Software Foundation License, MIT License - 3.5.0 or later:
Python Software Foundation License; MIT License
- Up to 3.4.0:
- Implement new option
--packages
- Fix license summary refer to
--fromoption
- Improves the readability of the help command
- Implement new option
--from=all - Change license notation under SPDX license identifier style
- Implement new option for use in continuous integration
--fail-on--allow-only
- Dropped support Python 3.5
- Clarified support for Python 3.9
- Migrate package metadata to
setup.cfg - Breaking changes
- Change default behavior to
--from=mixed
- Change default behavior to
- Implement new option for manage unicode characters
--filter-strings--filter-code-page
- Fixed the file that is selected when multiple matches are made with
LICENSE*with run--with-license-file
- Implement new option
--with-notice-file - Added to find British style file name
LICENCEwith run--with-license-file
- Suppress errors when opening license files
- Implement new option
--format=plain-vertical - Support for outputting license file named
COPYING *
- Better license file open handling in Python 3
- Dropped support Python 2.7
- Breaking changes
- Removed migration path to obsolete options
--from-classifier--format-markdown--format-rst--format-confluence--format-html--format-json
- Removed migration path to obsolete options
- Implement new option
--no-license-path
- Supports compatibility to work with either PTable or prettytable
- Implement new option
--output-file - Clarified support for Python 3.8
- Add a help text for
--format=json-license-finderoption
- Implement new option
--format=json-license-finder
- Read license file works well with Windows
- Skip parsing of license file for packages specified with
--ignore-packagesoption
- Implement new option
--format=csv
- Implement new option
--from=mixedas a mixed mode
- Implement new option
--from=meta,from=classifier - Dropped support Python 3.4
- Fix bug
- Change warning output to standard error
- Supports execution within Docker container
- Warning of deprecated options
- Fix bug
- Ignore
OSI Approvedstring with multiple licenses
- Ignore
- Implement new option
--with-license-file
- Implement new option
--with-description
- Implement new option
--summary
- Implement new option
--format-json - Dropped support Python 3.3
- Fix bug
- Support pip 10.x
- Implement new option
--format-confluence
- Fix bug
- Support display multiple license with
--from-classifieroption
- Support display multiple license with
- Improve document
- Add section of 'Uninstallation' in README
- Implement new option
--format-html
- Implement new option
--format-rst
- Implement new option
--format-markdown - Include LICENSE file in distribution package
- Implement new option
--ignore-packages
- Implement new option
--from-classifier
- Improve document
- Add ToC to README document
- Add a information of dependencies
- First stable release version
- Implement new option
--order- Default behavior is
--order=name
- Default behavior is
- First implementation version
- Support options
--with-system--with-authors--with-urls
- Support options