Tclint

Latest version: v0.5.4

Safety actively analyzes 723144 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

0.4.1

This update features a few parser enhancements, including significant performance improvements (over 2x faster parsing the OpenROAD codebase)! In addition:

- Unbraced `expr` commands without substitutions are now parsed as expressions
- `proc` arguments are now parsed as lists

These two changes may have effects on formatting, and will result in `tclint` surfacing some syntax errors that were previously ignored.

In addition, this update enhances some checks:
- New `redundant-expr` check flags cases where an `[expr ...]` is unnecessary, e.g. `if {[expr i % 2] == 0}`
- The `unbraced-expr` check now flags cases where multiple braced or quoted words are passed to `expr`, since such cases can be hard to reason about

0.4.0

This release adds a new formatting utility, `tclfmt`! See the [tclfmt docs](https://github.com/nmoroze/tclint/blob/main/docs/tclfmt.md) to learn all about it.

`tclfmt` will be this project's canonical method of style enforcement going forward. That means `tclint`'s style checks will be deprecated. To preview its future behavior, `tclint` now supports a new option `--no-check-style`.

Other updates:
- Fix bug parsing `eval` command within a command substitution
- Fix some spelling mistakes in tool output
- Fix bug where `tclint` would not detect trailing whitespace on lines that contain URLs

0.3.2

- Fix bug where contents after the closing brace of a multi-line braced word triggers a spurious indent violation

0.3.1

- Fix regression in OpenROAD plugin where `remove_buffers` is checked incorrectly for latest OR version

0.3.0

- Updates to plugin support
- Adds OpenROAD plugin
- This allows checking of OpenROAD-specific commands
- See https://github.com/nmoroze/tclint/blob/main/docs/plugins.md for more information!

0.2.5

- Fixes bugs related to parsing `eval` of multiple barewords (e.g. `eval command arg1 arg2`)
- No longer throws an `AssertionError`
- Correctly records positions to ensure style checks work

Page 2 of 4

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.