- Allow overwriting schemas referring to the same
tool
, #175.
- Update version regex according to latest packaging version, #153
- Remove duplicate
# ruff: noqa
, #158 - Remove invalid top-of-the-file
# type: ignore
statement, #159 - Align
tool.setuptools.dynamic.optional-dependencies
withproject.optional-dependencies
, #170 - Bump min Python version to 3.8, #167
- Fix setuptools
readme
field , #116 - Fix
oneOf <> anyOf
in setuptools schema, #117 - Add previously omitted type keywords for string values, #117
- Add schema validator check, #118
- Add
SchemaStore
conversion script, #119 - Allow tool(s) to be specified via URL (added CLI option:
--tool
), #121 - Support
uint
formats (as used by Ruff's schema), #128 - Allow schemas to be loaded from
SchemaStore
(added CLI option:--store
), #133
- Update
setuptools
schema definitions, #112 - Add
__repr__
to plugin wrapper, by @henryiii #114 - Fix standard
$schema
ending#
, by @henryiii #113
- Ensure reporting show more detailed error messages for
RedefiningStaticFieldAsDynamic
, #104 - Add support for
repo-review
, by @henryiii in #105
- Make it clear when using input from
stdin
, #96 - Fix summary for
allOf
, #100 setuptools
plugin:- Improve validation of
attr
directives, #101
- Improve validation of
setuptools
plugin:- Fix problem with
license-files
patterns, by removingdefault
value.
- Fix problem with
setuptools
plugin:- Allow PEP 561 stub names in
tool.setuptools.package-dir
, #87
- Allow PEP 561 stub names in
setuptools
plugin:- Allow PEP 561 stub names in
tool.setuptools.packages
, #86
- Allow PEP 561 stub names in
- Improve error message for invalid replacements in the
pre_compile
CLI, #71 - Allow package to be build from git archive, #53
- Improve error message for invalid replacements in the
pre_compile
CLI, #71 - Error-out when extra keys are added to
project.authors/maintainers
, #82 - De-vendor
fastjsonschema
, #83
- Ensure
LICENSE.txt
is added to wheel.
- Add
NOTICE.txt
tolicense_files
, #58 - Use default SSL context when downloading classifiers from PyPI, #57
- Remove
setup.py
, #52 - Explicitly limit oldest supported Python version
- Replace usage of
cgi.parse_header
withemail.message.Message
- Use
tomllib
from the standard library in Python 3.11+, #42
- Workaround typecheck inconsistencies between different Python versions
- Publish
561
type hints, #43
- New
pre-commit
hook, #40 - Allow multiple TOML files to be validated at once via CLI (no changes regarding the Python API).
setuptools
plugin:- Allow
dependencies
/optional-dependencies
to use file directives, #37
- Allow
- CI: Enforced doctests
- CI: Add more tests for situations when downloading classifiers is disabled
- Deprecated use of
validate_pyproject.vendoring
. This module is replaced byvalidate_pyproject.pre_compile
.
- Fix validation of
version
to ensure it is given either statically or dynamically, #29
- Allow private classifiers, #26
setuptools
plugin:- Remove
license
andlicense-files
fromtool.setuptools.dynamic
, #27
- Remove
- Exported
ValidationError
from the main file when vendored,23
- Removed
ValidationError
traceback to avoid polluting the user logs with generate code,24
- Fixed typecheck errors (only found against GitHub Actions, not Cirrus CI),
22
- Fixed entry-points format to allow values without the
:obj.attr part
,8
- Improved trove-classifier validation, even when the package is not installed,
9
- Improved URL validation when scheme prefix is not present,
14
- Vendor
fastjsonschema
to facilitate applying patches and latest updates,15
- Remove fixes for old version of
fastjsonschema
,16
,19
- Replaced usage of
importlib.resources
legacy functions with the new API,17
- Improved error messages,
18
- Added GitHub Actions for automatic test and release of tags,
11
- Validation now fails when non-standardised fields to be added to the project table (
4
,5
) - Terminology and schema names were also updated to avoid specific PEP numbers and refer instead to living standards (
6
,7
)
- Remove upper pin from the
tomli
dependency byhukkin
(1
) - Fix failing
blacken-docs
pre-commit hook byhukkin
(2
) - Update versions of tools and containers used in the CI setup (
3
)
- Updated
fastjsonschema
dependency version. - Removed workarounds for
fastjsonschema
pre 2.15.2
setuptools
plugin:- Fixed missing
required
properties for theattr:
andfile:
directives (previously empty objects were allowed).
- Fixed missing
setuptools
plugin:Added support for
readme
,license
andlicense-files
viadynamic
.Warning
license
andlicense-files
indynamic
are PROVISIONAL they are likely to change depending on639
- Removed support for
tool.setuptools.dynamic.{scripts,gui-scripts}
. Dynamic values forproject.{scripts,gui-scripts}
are expected to be dynamically derived fromtool.setuptools.dynamic.entry-points
.
setuptools
plugin:- Added
cmdclass
support
- Added
setuptools
plugin:- Added
data-files
support (although this option is marked as deprecated). - Unified
tool.setuptools.packages.find
andtool.setuptools.packages.find-namespace
options by adding a new keywordnamespaces
tool.setuptools.packages.find.where
now accepts a list of directories (previously only one directory was accepted).
- Added
- Initial release with basic functionality