File: CHANGELOG.rst

package info (click to toggle)
python-validate-pyproject 0.25-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,392 kB
  • sloc: python: 3,172; makefile: 51; sh: 25
file content (280 lines) | stat: -rw-r--r-- 8,561 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
=========
Changelog
=========

..
   Development Version
   ====================

* Added support for specifying package-data for stub packages, #248.


Version 0.24.1
==============
* Fixed multi plugin id was read from the wrong place by @henryiii, #240.
* Implemented alternative plugin sorting, #243

Version 0.24
============
* Fix integration with ``SchemaStore`` by loading extra/side schemas, #226, #229.
* Add support for loading extra schemas, #226.
* Fixed verify author dict is not empty, #232.
* Added support for ``validate_pyproject.multi_schema`` plugins with extra schemas, #231.
* ``validate-pyproject`` no longer communicates test dependencies via the ``tests``
  extra and documentation dependencies dependencies via the ``docs/requirements.txt`` file.
  Instead :doc:`pypa:dependency-groups` have been adopted to support CI environments, #227.

  As a result, ``uv``'s high level interface also works for developers. You can use the :pypi:`dependency-groups`
  package on PyPI if you need to convert to a classic requirements list.

Contributions by @henryiii.

Version 0.23
============
* Validate SPDX license expressions by @cdce8p in #217

Version 0.22
============
* Prevent injecting defaults and modifying input in-place, by @henryiii in #213

Version 0.21
============
* Added support PEP 735, #208
* Added support PEP 639, #210
* Renamed ``testing`` extra to ``test``, #212
* General updates in CI setup

Version 0.20
============
- ``setuptools`` plugin:
   * Update ``setuptools.schema.json``, #206

Maintenance and Minor Changes
-----------------------------
- Fix misplaced comments on ``formats.py``, #184
- Adopt ``--import-mode=importlib`` for pytest to prevent errors with ``importlib.metadata``, #203
- Update CI configs, #195 #202, #204, #205

Version 0.19
============
- Relax requirements about module names to also allow dash characters, #164
- Migrate metadata to ``pyproject.toml`` , #192

Version 0.18
============
- Allow overwriting schemas referring to the same ``tool``, #175

Version 0.17
============
- 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`` with ``project.optional-dependencies``, #170
- Bump min Python version to 3.8, #167

Version 0.16
============
- 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

Version 0.15
============
- Update ``setuptools`` schema definitions, #112
- Add ``__repr__`` to plugin wrapper, by @henryiii #114
- Fix standard ``$schema`` ending ``#``, by @henryiii #113

Version 0.14
============

- Ensure reporting show more detailed error messages for ``RedefiningStaticFieldAsDynamic``, #104
- Add support for ``repo-review``, by @henryiii in #105

Version 0.13
============

- Make it clear when using input from ``stdin``, #96
- Fix summary for ``allOf``, #100
- ``setuptools`` plugin:
    - Improve validation of ``attr`` directives, #101

Version 0.12.2
==============

- ``setuptools`` plugin:
    - Fix problem with ``license-files`` patterns,
      by removing ``default`` value.

Version 0.12.1
==============

- ``setuptools`` plugin:
    - Allow PEP 561 stub names in ``tool.setuptools.package-dir``, #87

Version 0.12
============

- ``setuptools`` plugin:
    - Allow PEP 561 stub names in ``tool.setuptools.packages``, #86

Version 0.11
============

- 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

Version 0.10.1
==============

- Ensure ``LICENSE.txt`` is added to wheel.

Version 0.10
============

- Add ``NOTICE.txt`` to ``license_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`` with ``email.message.Message``

Version 0.9
===========

- Use ``tomllib`` from the standard library in Python 3.11+, #42

Version 0.8.1
=============

- Workaround typecheck inconsistencies between different Python versions
- Publish :pep:`561` type hints, #43

Version 0.8
===========

- New :pypi:`pre-commit` hook, #40
- Allow multiple TOML files to be validated at once via **CLI**
  (*no changes regarding the Python API*).

Version 0.7.2
=============

- ``setuptools`` plugin:
    - Allow ``dependencies``/``optional-dependencies`` to use file directives, #37

Version 0.7.1
=============

- CI: Enforced doctests
- CI: Add more tests for situations when downloading classifiers is disabled

Version 0.7
===========

- **Deprecated** use of ``validate_pyproject.vendoring``.
  This module is replaced by ``validate_pyproject.pre_compile``.

Version 0.6.1
=============

- Fix validation of ``version`` to ensure it is given either statically or dynamically, #29

Version 0.6
=============

- Allow private classifiers, #26
- ``setuptools`` plugin:
   - Remove ``license`` and ``license-files`` from ``tool.setuptools.dynamic``, #27

Version 0.5.2
=============

- Exported ``ValidationError`` from the main file when vendored, :pr:`23`
- Removed ``ValidationError`` traceback to avoid polluting the user logs with generate code, :pr:`24`

Version 0.5.1
=============

- Fixed typecheck errors (only found against GitHub Actions, not Cirrus CI), :pr:`22`

Version 0.5
===========

- Fixed entry-points format to allow values without the ``:obj.attr part``, :pr:`8`
- Improved trove-classifier validation, even when the package is not installed, :pr:`9`
- Improved URL validation when scheme prefix is not present, :pr:`14`
- Vendor :pypi:`fastjsonschema` to facilitate applying patches and latest updates, :pr:`15`
- Remove fixes for old version of :pypi:`fastjsonschema`, :pr:`16`, :pr:`19`
- Replaced usage of :mod:`importlib.resources` legacy functions with the new API, :pr:`17`
- Improved error messages, :pr:`18`
- Added GitHub Actions for automatic test and release of tags, :pr:`11`

Version 0.4
===========

- Validation now fails when non-standardised fields to be added to the
  project table (:issue:`4`, :pr:`5`)
- Terminology and schema names were also updated to avoid specific PEP numbers
  and refer instead to living standards (:issue:`6`, :pr:`7`)

Version 0.3.3
=============

- Remove upper pin from the :pypi:`tomli` dependency by :user:`hukkin` (:pr:`1`)
- Fix failing :pypi:`blacken-docs` pre-commit hook by :user:`hukkin` (:pr:`2`)
- Update versions of tools and containers used in the CI setup (:pr:`3`)

Version 0.3.2
=============

- Updated ``fastjsonschema`` dependency version.
- Removed workarounds for ``fastjsonschema``  pre 2.15.2

Version 0.3.1
=============

- ``setuptools`` plugin:
   - Fixed missing ``required`` properties for the ``attr:`` and ``file:``
     directives (previously empty objects were allowed).

Version 0.3
===========

- ``setuptools`` plugin:
   - Added support for ``readme``, ``license`` and ``license-files`` via ``dynamic``.

     .. warning::
         ``license`` and ``license-files`` in ``dynamic`` are **PROVISIONAL**
         they are likely to change depending on :pep:`639`

   - Removed support for ``tool.setuptools.dynamic.{scripts,gui-scripts}``.
     Dynamic values for ``project.{scripts,gui-scripts}`` are expected to be
     dynamically derived from ``tool.setuptools.dynamic.entry-points``.

Version 0.2
===========

- ``setuptools`` plugin:
   - Added ``cmdclass`` support

Version 0.1
===========

- ``setuptools`` plugin:
   - Added ``data-files``  support (although this option is marked as deprecated).
   - Unified ``tool.setuptools.packages.find`` and ``tool.setuptools.packages.find-namespace``
     options by adding a new keyword ``namespaces``
   - ``tool.setuptools.packages.find.where`` now accepts a list of directories
     (previously only one directory was accepted).

Version 0.0.1
=============

- Initial release with basic functionality