Skip to content

Commit 82598ec

Browse files
committed
preparing for 1.4.0 release
1 parent f2f7107 commit 82598ec

2 files changed

Lines changed: 80 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# Changelog
2+
3+
All notable changes to pytm are documented in this file.
4+
5+
The format is based on [Keep a Changelog 1.1.0](https://keepachangelog.com/en/1.1.0/).
6+
This project follows [Semantic Versioning 2.0.0](https://semver.org/spec/v2.0.0.html)
7+
in spirit, with one deliberate exception in 1.4.0 (see the BREAKING heading
8+
below).
9+
10+
## [Unreleased]
11+
12+
## [1.4.0] - 2026-05-21
13+
14+
### BREAKING
15+
16+
- **Removed `tm.sqlDump()` and the `--sqldump` CLI flag (#295, #301).** Calls to
17+
`tm.sqlDump(...)` will raise `AttributeError` at runtime. There is no
18+
drop-in replacement; use `--json` for machine-readable output. This breakage
19+
is shipped in a minor release on the assumption of no real-world users; if
20+
this is wrong, please open an issue and we will publish a stub release.
21+
22+
### Added
23+
24+
- New `LLM` element class with eight associated threat definitions covering
25+
common LLM-specific attack patterns (#316).
26+
- New LLM threat for untrusted tool launch configuration (#329).
27+
- `likelihood` field on `Finding`, propagated from the originating `Threat` and
28+
overridable per-finding (#318).
29+
- `flows` module providing helpers for declarative `Dataflow` construction
30+
(#259).
31+
- `Data` object decoding in the JSON decoder, enabling round-trip serialization
32+
of `Data` instances (#330).
33+
- Devcontainer configuration for VS Code / GitHub Codespaces (#307).
34+
- Devbox setup with Poetry integration (#274, #282, #283, #289).
35+
- Ruff linter configuration alongside Black (#325).
36+
- Google-style docstrings on the `Actor` model entity (#311).
37+
- ROADMAP entries for 2025 and beyond.
38+
39+
### Changed
40+
41+
- Internal element model refactored to Pydantic v2 (#320). The user-facing
42+
construction API in `tm.py`-style scripts is preserved: `Element(name)`,
43+
attribute assignment, and `controls.*` access continue to work as before.
44+
Pydantic v2 (`>=2.10`) is now a hard runtime dependency. Users with
45+
environments pinned to Pydantic v1 must upgrade.
46+
- Minimum supported Python is now 3.9. Tested against 3.9 through 3.14. Python
47+
3.6, 3.7, and 3.8 are no longer supported.
48+
- Migrated the test suite from `unittest` to `pytest` (#276). Existing
49+
invocations via `python -m unittest` are replaced by `pytest`; CI scripts
50+
updated accordingly.
51+
- Upgraded the Docker base image to `python:alpine3.20` (#309).
52+
- Updated Makefile and Dockerfile build pipeline (#321).
53+
- Cleaned up legacy and unused files in the repository (#326).
54+
- CODEOWNERS now defaults a maintainer set on all paths.
55+
56+
### Fixed
57+
58+
- `getInScopeFindings()` regression introduced by the Pydantic refactor (#323).
59+
- `likelihood` regression on resolved findings, with regression tests added
60+
(#324).
61+
- Findings on assets with `inScope=False` are now correctly suppressed (#312).
62+
- CVSS and response overrides on `Finding` are no longer overwritten during
63+
threat resolution (#248).
64+
- Various type annotation fixes and minor cleanups (#322).
65+
66+
### Security
67+
68+
- Escaped HTML metacharacters in DOT (Graphviz) output to prevent injection in
69+
rendered diagrams (#278, #280).
70+
71+
## [1.3.1] - prior
72+
73+
See [git history](https://github.com/OWASP/pytm/commits/v1.3.1) for releases
74+
prior to 1.4.0. Earlier versions did not maintain a CHANGELOG; only 1.4.0 and
75+
later are documented here.
76+
77+
[Unreleased]: https://github.com/OWASP/pytm/compare/v1.4.0...HEAD
78+
[1.4.0]: https://github.com/OWASP/pytm/compare/v1.3.1...v1.4.0
79+
[1.3.1]: https://github.com/OWASP/pytm/releases/tag/v1.3.1

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "pytm"
3-
version = "1.3.1"
3+
version = "1.4.0"
44
description = "A Pythonic framework for threat modeling"
55
authors = ["pytm Team <please_use_github_issues@nowhere.com>"]
66
license = "MIT License"

0 commit comments

Comments
 (0)