Releases: jvllmr/flay
Releases · jvllmr/flay
0.1.0a2
More than a year after starting this project I can finally present a working version.
I started with a LibCST PoC which was very slow and migrated to rust soon after that. Then I did the mistake to use the abandonded rustpython-parser AST implementation instead the ruff implementation.
So I did a lot of refactoring, testing and experimenting to get to this version which is able to bundle and treeshake... flay itself. So now it is time for me to test this with other projects.
There is still a lot todo. I think there can still be done a lot performance-wise and currently not a lot of code is stripped away because of the many edge cases and hacks in python's ecosystem which make it hard to determine if code is actually used or not. Stay tuned!
What's Changed
- refactor(treeshake): extract string reference check from is_reference… by @jvllmr in #4
- chore(ci): limit push actions to dev branch and implement simple bund… by @jvllmr in #6
- fix: solve snyk issues and add obligatory cli tests by @jvllmr in #9
- fix(deps): update all non-major dependencies by @renovate[bot] in #5
- chore(tests): add test for bundling c extension by @jvllmr in #10
- fix(treeshake): star import handling and increased coverage by @jvllmr in #11
- chore(tests): coverage to 100% by @jvllmr in #12
- chore(deps): update dependency ruff to >=0.8.3 by @renovate[bot] in #14
- perf(bundle): improve bundle performance with refactors and rust by @jvllmr in #13
- chore(deps): update actions/attest-build-provenance action to v2 by @renovate[bot] in #16
- chore(deps): update all non-major dependencies by @renovate[bot] in #15
- chore(deps): update all non-major dependencies by @renovate[bot] in #17
- chore(deps): update dependency maturin to v1.8.0 by @renovate[bot] in #18
- chore(deps): lock file maintenance by @renovate[bot] in #19
- chore(deps): update all non-major dependencies by @renovate[bot] in #20
- perf(bundle): implement imports transformer in rust by @jvllmr in #21
- chore: new ruff rules by @jvllmr in #22
- fix(deps): update all non-major dependencies by @renovate[bot] in #24
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #2
- perf(treeshake): implement ReferencesCounter in rust by @jvllmr in #23
- fix(deps): update all non-major dependencies by @renovate[bot] in #25
- fix(deps): update rust crate rustpython-unparser to 0.1.4 by @renovate[bot] in #27
- perf(treeshake): implement nodes remover in rust by @jvllmr in #26
- fix(bundle,treeshake): stabilize output + some refactors by @jvllmr in #29
- chore: move transformer trait to rustpython-unparser by @jvllmr in #30
- fix(bundle): improve handling of rel imports w/ modules as value by @jvllmr in #31
- perf(treeshake): goodbye libcst by @jvllmr in #32
- chore(deps): update all non-major dependencies by @renovate[bot] in #34
- chore(deps): update dependency pip to v25 by @renovate[bot] in #35
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #28
- refactor(bundle): new transformer for imports transformer by @jvllmr in #36
- fix(bundle): full recursion on attribute visit by @jvllmr in #37
- feat(ci): add zizmor to pre-commit config by @jvllmr in #38
- fix(treeshake): make re-exports work by @jvllmr in #39
- fix(bundle): transform annotation literals by @jvllmr in #40
- fix(treeshake): default arg values are visited by @jvllmr in #41
- fix(treeshake): remove forgotten println that was there for debugging by @jvllmr in #42
- chore(deps): update dependency nox to v2025 by @renovate[bot] in #44
- chore(deps): update all non-major dependencies by @renovate[bot] in #43
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #45
- fix(deps): update all non-major dependencies by @renovate[bot] in #47
- fix(deps): update all non-major dependencies by @renovate[bot] in #49
- chore(deps): lock file maintenance by @renovate[bot] in #48
- successfully run pre-commit validate-config with bundled pre-commit by @jvllmr in #50
- chore: make compatible with python 3.9 by @jvllmr in #51
- fix(cli): use pydantic-settings instead of typer for CLI parsing by @jvllmr in #52
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #46
- chore(deps): update dependency setuptools to v76 by @renovate[bot] in #54
- fix(deps): upgrade pyo3 to 0.24.0 by @jvllmr in #57
- fix(deps): upgrade rustpython-unparser to 0.2.4 by @jvllmr in #58
- chore(deps): update dependency ruff to >=0.9.10 by @renovate[bot] in #53
- chore: use rust 2024 edition by @jvllmr in #56
- chore: use pre-commit cargo-fmt again by @jvllmr in #59
- chore(deps): update all non-major dependencies by @renovate[bot] in #60
- chore(deps): update dependency types-setuptools to v76 by @renovate[bot] in #61
- fix(deps): update all non-major dependencies by @renovate[bot] in #62
- fix(deps): update all non-major dependencies by @renovate[bot] in #64
- chore(deps): lock file maintenance by @renovate[bot] in #66
- fix(deps): update all non-major dependencies by @renovate[bot] in #67
- feat: replace rustpython-parser ast with ruff ast by @jvllmr in #68
- fix(renovate): make renovate manage cargo github dependencies by @jvllmr in #69
- fix(renovate): improve github url regex by @jvllmr in #70
- fix(renovate): use git-tags instead of github-tags by @jvllmr in #71
- fix(deps): update rust crate pyo3 to 0.24.1 by @renovate[bot] in #72
- fix(deps): update all non-major dependencies by @renovate[bot] in #73
- feat(cli): create initial CLI for general usage by @jvllmr in #75
- feat(ci): sync Cargo.lock if Cargo.toml changed by @jvllmr in #76
- fix(ci): only run cargo lock sync if branch is in this repository by @jvllmr in #79
- fix(ci): run cargo vendor before building to avoid too deep paths on by @jvllmr in #80
- fix(ci): use windows-2025 instead of windows-latest by @jvllmr in #83
- fix(ci): create a new pr when syncing Cargo.lock by @jvllmr in #84
- fix(ci): enable git longpaths feature by @jvllmr in #85
- fix(deps): update all non-major dependencies by @renovate[bot] in #78
- fix(ci): use a personal token for creating a PR by @jvllmr in #87
- chore: sync Cargo.lock by @github-actions[bot] in #86
- chore(deps): update dependency setuptools to v80 by @renovate[bot] in #81
- fix(ci): do not use my token to sync Cargo.lock and run sync on schedule by @jvllmr in #88
- feat(renovate): create more fine-grained renovate groups by @jvllmr in #89
- chore(config): migrate renovate config by @renovate[bot] in #91
- chore(deps): pin dependencies by @renovate[bot] in #90
- chore(deps): update pre-commit hooks by @jvllmr in #77
- chore(deps): update dependency types-setuptools to v80 by @renovate[bot] in #93
- fix(renovate): do not update required python version by @jvllmr in #94
- chore(deps): update all python non-major dependencies by @renovate[bot] in #92
- chore(deps): lock file maintenance by @renovate[bot] in #95
- chore(deps): update dependency https://github.com/astral-sh/ruff.git to v0.11.8 by @renovate...