Skip to content

Releases: bittner/pyclean

v3.5.0

10 Jan 17:25
3.5.0
a46c892

Choose a tag to compare

New debris topic to clean up leftovers from running Complexipy. 🐌
Type checking locally and with GHA is now done with Astral's ty. 🐎

What's Changed

New Contributors

  • @jakob1379 made their first contribution in #115
  • @Copilot was used as agentic AI developer support for this release.

Full Changelog: 3.4.0...3.5.0

v3.4.0

06 Nov 20:45

Choose a tag to compare

This is mostly a bugfix release for the recent v3.3.0 release. 🐞
We have now started to verify type annotations in the pipeline. 🤖

What's Changed

  • Fix verbose mode logging DirEntry objects instead of paths by @bittner in #111
  • Document --folders flag in README by @bittner
  • Check type annotations using MyPy by @bittner
  • Add EditorConfig and related extension (recommendation) for VSCodium by @bittner

Full Changelog: 3.3.0...3.4.0

v3.3.0

06 Nov 14:40

Choose a tag to compare

Adds two new flags, --folders and --git-clean, to conveniently clean up empty folders and untracked files. 🧹
Adds support for Pyright debris removal. 🪟
Makes directory traversal (for bytecode cleanup) potentially faster. ⚡
Restructures the code base for better maintainability. 🏗️

What's Changed

  • Add --folders flag to remove empty directories after cleanup by @bittner in #103
  • Add --git-clean flag to execute git clean for untracked files by @bittner in #105
  • Add pyright as a debris topic by @5m2wse50 in #100
  • Refactor modern module into focused feature modules (incl. tests) by @bittner in #107
  • Replace pathlib.iterdir by os.scandir (speed optimization) by @bittner in #108

New Contributors

  • @5m2wse50 made their first contribution in #100
  • @Copilot was used as agentic AI developer support for this release.

Full Changelog: 3.2.0...3.3.0

v3.2.0

16 Oct 23:16

Choose a tag to compare

Makes --debris cleanup substantially faster. ⚡
Makes the --ignore flag correctly identify complex paths. 👀
Suggests using unused CLI options to users. 💬
Fixes a bug with the --erase option in combination with --dry-run. 💣

What's Changed

  • Continue to run tests against older Pythons by @bittner in #89
  • Fix --ignore not working for --debris by @bittner in #91
  • Drop Python versions <3.9 (required for new license metadata), add Python 3.14 and PyPy 3.11 to the test matrix, remove old compatibility and test code by @bittner in 7b8bbc8
  • Suggest --debris option when executed without it by @bittner and @Copilot in #95
  • Fix --ignore flag to handle complex directory names with cross-platform path support by @bittner and @Copilot in #93
  • Update usage and history, add emojis to README by @bittner in c4bc612 and 942da84
  • Optimize directory scanning to eliminate redundant traversals during debris cleanup by @bittner and @Copilot in #97
  • Fix directory removal prompt with dry-run by @bittner and @Copilot in #99

New Contributors

  • @Copilot was used as agentic AI developer support for this release.

Full Changelog: 3.1.0...3.2.0

v3.1.0

15 Jan 02:42

Choose a tag to compare

Aligns the behavior of the --debris option with the bytecode discovery and deletion, traversing the directory tree recursively from the starting point. On large directory trees debris removal will be notably slower due to this.

What's Changed

Full Changelog: 3.0.0...3.1.0

v3.0.0

15 Jan 02:40

Choose a tag to compare

Drops Python 2.7 support and removes the original Debian scripts. PyClean is now all modern, all Python 3. ✨ 🚀

What's Changed

  • Select all ruff rules, ignore only a few by @bittner in #76
  • Simplify pipeline code, no unnecessary install of wheel package by @bittner in #77
  • Use generic name for linting job by @bittner in #79
  • Remove Python 2.7 implementations and dependencies by @bittner in #81

Full Changelog: 2.7.6...3.0.0

v2.7.6

15 Jan 02:32

Choose a tag to compare

Fixes wrongly displayed package version (undo dynamic version detection). Start using Ruff to format the code (replacing Black).

What's Changed

  • Fix wrongly displayed package version, add ruff to defaults by @bittner in #74
  • Use ruff for code formatting (like Black), test against Python 3.12 by @bittner in #75

Full Changelog: 2.7.5...2.7.6

v2.7.5

15 Jan 02:29

Choose a tag to compare

Adds ruff to --debris topics, and venv to --ignore.

What's Changed

Full Changelog: 2.7.4...2.7.5

v2.7.4

15 Jan 02:22

Choose a tag to compare

Switch from setup.py to pyproject.toml for packaging. Handle exceptions centrally. Start using Ruff to replace all linters.

What's Changed

  • Fix additional environments shown by tox list by @bittner in #65
  • Continue to run older Pythons with Tox by @bittner in #66
  • Perform packaging with pyproject.toml, remove setup.py by @bittner in #67
  • Use ruff as the one linter for everything by @bittner in #68
  • Handle exceptions centrally in main entry point by @bittner in #69

Full Changelog: 2.7.3...2.7.4

v2.7.3

15 Jan 02:18

Choose a tag to compare

Adds mypy as an optional --debris topic.

What's Changed

Full Changelog: 2.7.2...2.7.3