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 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332
|
<!--
SPDX-FileCopyrightText: Peter Pentchev <roam@ringlet.net>
SPDX-License-Identifier: BSD-2-Clause
-->
# Changelog
All notable changes to the test-stages project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.2.0] - 2024-08-10
### Breaking changes
- drop support for Tox 3.x
### Semi-incompatible changes
- drop support for Python 3.8 and 3.9
### Fixes
- test suite:
- pass `filter="data"` to `TarFile.extractall()`
### Other changes
- simplify some code using Python 3.10 structural pattern matching
- replace `NamedTuple` with frozen dataclasses
- documentation:
- correct the 0.1.8 tag link on the downloads page
- use mkdocstrings 0.25 with no changes
- test suite:
- Ruff:
- use Ruff 0.5.7
- override some docstrings-related checks, we do not document everything
- override a `cmd` module check, there is not much potential for confusion
- vendor-import vetox 0.2.0 now that we no longer support Tox 3.x
- Nix expressions:
- pass the Python version as a string, not as an integer
- only pass the minor Python version, we only use 3.x
- explicitly invoke `python3.X` so that we do not accidentally pick up
a "more preferable" Python version that is also installed in the Nix environment
## [0.1.8] - 2024-05-25
### Fixes
- run `tox config` with the `-q` option to avoid diagnostic output from Tox plugins to
mix in with the actual configuration settings
- documentation:
- correct the 0.1.7 tag link on the downloads page
### Additions
- add `publync` configuration to the `pyproject.toml` file
### Other changes
- test suite:
- Ruff:
- use Ruff 0.4.5 with no changes
## [0.1.7] - 2024-03-17
### Fixes
- documentation:
- correct the 0.1.6 release date on the download page
### Other changes
- build system:
- allow packaging 24.x with no changes
- test suite:
- Ruff:
- fold the "all" configuration into the `pyproject.toml` file and
move the "base" one to the `ruff-base.toml` file in the top-level directory
- use Ruff 0.3.3:
- add the forgotten `f` prefix to some f-strings
- use the concise output even in preview mode
- allow pytest 8.x with no changes
- Nix expressions:
- drop Python 3.8 from the `run-vetox.sh` helper, it was dropped form nixpkgs/unstable
- update the vendored copy of vetox to version 0.1.3
- run vetox with support for [uv](https://github.com/astral-sh/uv) and
[tox-uv](https://github.com/tox-dev/tox-uv)
- when running `uv`, use `/etc/ssl/certs/ca-certificates.crt` as the path to
the system-wide certificates file; allow it to be overridden using
the `VETOX_CERT_FILE` environment variable
## [0.1.6] - 2024-02-08
### Additions
- add the `--match-spec` / `-m` command-line option to further limit
the Tox environments that will be run
- add a Nix expression that builds the documentation
- tentatively declare Python 3.13 as supported
- testing framework:
- vendor-import [the vetox testing tool](https://devel.ringlet.net/devel/vetox/)
- add a Nix expression that runs `vetox`
### Other changes
- documentation:
- use mkdocstrings 0.24 with no changes
- testing framework:
- use Ruff 0.2.1:
- push some Ruff configuration settings into the `ruff.lint.*` hierarchy
- let Ruff insist on trailing commas, reformat the source files accordingly
- push the unit tests into the `tests/unit/` directory
- put the Tox stage specifications in the `pyproject.toml` file on separate lines
## [0.1.5] - 2024-01-19
### Fixes
- documentation:
- add the "build" section to the ReadTheDocs configuration
- refer to version 1.1.0 of the "Keep a Changelog" specification in
the changelog file
- selftest:
- validate the list of archive files before passing it to
`TarFile.extractall()`
### Additions
- documentation:
- add a "Download" page linking to the various files at the Ringlet website
### Other changes
- switch from `black` to `ruff` for source code formatting
- documentation:
- use `mkdocstrings` 0.23 and `mkdocstrings-python` 1.x with no changes
- testing framework:
- also run the "reuse" test in the first Tox stage
- also build the documentation in the second Tox stage
- Ruff:
- use Ruff 0.1.13
- disable another subprocess-related check (`S404`)
- let Ruff also validate the docstrings
- mypy:
- do not explicitly install `tomli`, it is brought in as
a runtime dependency
## [0.1.4] - 2023-10-19
### Fixes
- fix the rendering of long options in the `tox-stages` manual page
### Additions
- tox_trivtags:
- automatically tell a bootstrapped Tox to install a recent enough version of
`test-stages` into its own virtual environment so that it may output tags
### Other changes
- drop the documentation section on requiring `test-stages` in the Tox configuration
- build system:
- refer to Tox 4.x in the "tox" optional dependency group
- selftest:
- use `pathlib.Path.cwd()` instead of `pathlib.Path().resolve()`
- testing framework:
- Ruff:
- use Ruff 0.1.0
- let it know how to check for our SPDX copyright tags
- enable its preview mode
- reuse:
- use reuse 2.x
- only run if a Git checkout subdirectory is present
- with the above in mind, add it to the list of default Tox environments
- mypy:
- do not install `tomli` in the virtual environment on recent Python versions
## [0.1.3] - 2023-10-01
### Fixes
- fix a typographical error in the `tox-stages` manual page
- tox_trivtags:
- fix parsing of the Tox output when the `tox.ini` file contains
a `min_version` / `minversion` specification and Tox bootstraps a new
version into a virtual environment:
- ignore all output lines until one that starts with a `[` character
- do not depend on the version of Tox that we can see installed as
a library for determining the format used to output the list of
tags; a different version may have been installed and invoked
- testing framework:
- do not pass the `python_version` option to mypy, let it use the current
interpreter's version for the checks
- temporarily run `mypy` on `click` version 8.1.3, there seems to be some
trouble with the decorator changes in 8.1.4
### Additions
- document the `requires` directive that is needed if the `tox.ini` file
specifies a minimum Tox version requirement
### Other changes
- build system:
- add Python 3.12 as a supported version
- tox_trivtags:
- switch from `distlib` to `importlib.metadata` and `packaging` for simpler
handling
- testing framework:
- pin the Ruff version to avoid breakage with new checks enabled in the future
- use Ruff 0.0.291, do not pass the current directory to the `pathlib.Path`
constructor
- use black 23.7 and add "py312" to the list of target versions
- drop the `pylint` test environment, we depend on Ruff instead
- run the `format` test environment in the first Tox stage
## [0.1.2] - 2023-03-13
### Incompatible changes
- tox-trivtags:
- drop the `tox_trivtags.parse.parse_config()` function, running
`tox --showconfig` is the only supported method now
### Fixes
- tox-stages:
- minor refactoring and fixes suggested by Ruff
- tox-trivtags:
- use the correct way to ignore a specific Ruff check for the whole
file instead of telling Ruff to skip that file entirely!
- minor fixes suggested by Ruff
- testing framework:
- correct the `tox.envlist` list in the `tox.ini` file
### Additions
- add the beginnings of [MkDocs-based][tool-mkdocs] documentation, hosted
[at the Ringlet test-stages webpage][ringlet-test-stages]
for the latest release and [at ReadTheDocs][readthedocs] for
the latest version from the Git repository
- add manual page for the `tox-stages` tool in the mdoc format
- add a `.gitignore` file, mainly so that the `reuse` tool can be run even
in the presence of some test-related files and directories
- add a `selftest` module (not installed in the wheel) that runs
the `tox-stages` tool itself on a copy of the source tree
- build system:
- add the "Typing :: Typed" PyPI trove classifier
- specify the project's two-clause BSD license
- tox-stages:
- add support for Tox 4.x
- allow the `tox-stages` command-line tool to be invoked via `python3 -m`
- add the `--arg` / `-A` option to pass additional arguments to Tox
- add the `--parallel` / `-p` option to specify which stages should run
their tests in parallel
- testing framework:
- add the `reuse` Tox test environment for checking the SPDX tags manually
### Other changes
- use SPDX license tags
- move the changelog file into the MkDocs-managed `docs/` directory
- point to the Ringlet homepage in the package metadata and the README file
- tox-stages:
- reformat the import statements using Ruff's isort implementation
- use `tox run-parallel` when running with Tox 4.x
- tox-trivtags:
- reformat the import statements using Ruff's isort implementation
- use `tox config` when running with Tox 4.x
- build system:
- switch to hatch/hatchling for the PEP517 build
- move the `contextlib-chdir` module from the installation requirements to
the test ones, since we do not use it in the installed library
- bump the `parse-stages` dependency version to 0.1.4 so that an empty
set may be specified as an argument to the `--parallel` option
- testing framework:
- Ruff:
- move the Ruff configuration files from `.config/` to `config/`
- run `ruff check ...` explicitly
- enable all of the Ruff checks in the default (`ruff`) test environment
- use ruff 0.0.265 and ignore some subprocess checks: we do check
- remove them `EM` checks override, we do not raise any exceptions
- Formatting:
- rename the `black` and `black-reformat` Tox environments to
`format` and `reformat` respectively and invoke Ruff's isort
implementation in both
- specify Python 3.8 as the target version
- Pylint:
- remove the `empty-comment` plugin override, the SPDX license tags
no longer cause it to complain
- specify Python 3.8 as the target version
- use pylint 2.17.x with no changes
- update the `tox.ini` file for Tox 4.x (mostly a multiline list) and
make the unit tests that run Tox 3.x revert those adaptations
- use the `@manual` tag for Tox test environments that should only be
run manually with care
- drop the Tox environment that runs `flake8` and `pycodestyle`,
we depend on Ruff for that
## [0.1.1] - 2023-02-07
### Fixes
- Include the changelog file and the `.config/ruff-*/pyproject.toml` files in
the PyPI source distribution tarball.
## [0.1.0] - 2023-02-07
### Started
- First public release.
[readthedocs]: https://test-stages.readthedocs.io/en/latest/
[ringlet-test-stages]: https://devel.ringlet.net/devel/test-stages/ "The Ringlet test-stages homepage"
[tool-mkdocs]: https://www.mkdocs.org/ "Project documentation with Markdown"
[Unreleased]: https://gitlab.com/ppentchev/test-stages/-/compare/release%2F0.2.0...main
[0.2.0]: https://gitlab.com/ppentchev/test-stages/-/compare/release%2F0.1.8...release%2F0.2.0
[0.1.8]: https://gitlab.com/ppentchev/test-stages/-/compare/release%2F0.1.7...release%2F0.1.8
[0.1.7]: https://gitlab.com/ppentchev/test-stages/-/compare/release%2F0.1.6...release%2F0.1.7
[0.1.6]: https://gitlab.com/ppentchev/test-stages/-/compare/release%2F0.1.5...release%2F0.1.6
[0.1.5]: https://gitlab.com/ppentchev/test-stages/-/compare/release%2F0.1.4...release%2F0.1.5
[0.1.4]: https://gitlab.com/ppentchev/test-stages/-/compare/release%2F0.1.3...release%2F0.1.4
[0.1.3]: https://gitlab.com/ppentchev/test-stages/-/compare/release%2F0.1.2...release%2F0.1.3
[0.1.2]: https://gitlab.com/ppentchev/test-stages/-/compare/release%2F0.1.1...release%2F0.1.2
[0.1.1]: https://gitlab.com/ppentchev/test-stages/-/compare/release%2F0.1.0...release%2F0.1.1
[0.1.0]: https://gitlab.com/ppentchev/test-stages/-/tags/release%2F0.1.0
|