Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 20 additions & 8 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Build

- `.dockerignore`: add `!README.md` and `!LICENSE` allowlist entries; `Dockerfile`: copy `README.md` in builder stage for hatchling metadata (#199)

### Documentation

- SECURITY.md version table updated: 0.3.x supported, 0.2.x EOL (#174)
- README project structure tree: fix `entrypoint.sh` path to `docker/entrypoint.sh`, add missing `labeler.yml` workflow, add `AUDNET_SMTP_PASSWORD` to Docker env var table
- CHANGELOG.md: reorganized — moved all v0.3.0 fixes/performance items from `[Unreleased]` to `[0.3.0]` section

## [0.3.0] - 2026-06-18

### Added

- `prompt=True, hide_input=True` for `smtp_password` CLI option with `AUDNET_SMTP_PASSWORD` env var support (#167)
- `git-rollback` command (renamed from `rollback`) with clarified docstring (#168)
- SNMP trap receiver startup in `RealtimeListener.start()` when `snmp_trap_bind_port > 0` (#169)
- `--timeout` option for `remediate` CLI command (#166)

### Fixed

- `smtp_password` exposed as plain CLI option in `listen` command — visible in process listings and shell history (#167)
Expand All @@ -21,13 +40,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `scrapli._get_scrapli_driver` raises `KeyError` for unknown vendors — no fallback path (#186)
- Webhook alert delivery used blocking `urllib` in executor thread — consumes thread pool, creates new TCP connection per alert, blocks on retries (#193)

### Added

- `prompt=True, hide_input=True` for `smtp_password` CLI option with `AUDNET_SMTP_PASSWORD` env var support (#167)
- `git-rollback` command (renamed from `rollback`) with clarified docstring (#168)
- SNMP trap receiver startup in `RealtimeListener.start()` when `snmp_trap_bind_port > 0` (#169)
- `--timeout` option for `remediate` CLI command (#166)

### Performance

- Reduced memory pressure: polling compares SHA256 hashes instead of storing full running-config text; `sanitize_config_to_file` writes incrementally instead of building full sanitized string in memory (#190)
Expand All @@ -44,7 +56,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- README vendor table updated: added Fortinet, Aruba, HP ProCurve, Cisco ASA (#172)
- README project structure tree updated with missing source and test files (#173)
- SECURITY.md version table updated: 0.2.x supported, 0.1.x EOL (#174)
- SECURITY.md version table updated: 0.3.x supported, 0.2.x EOL (#174)
- CHANGELOG.md updated with all recent bug fixes and features (#175)

### Build
Expand Down
164 changes: 0 additions & 164 deletions MARKDOWN_AUDIT.md

This file was deleted.

5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -541,7 +541,8 @@ audnet/
├── .pre-commit-config.yaml # Pre-commit hooks (ruff, mypy, bandit, etc.)
├── Dockerfile # Multi-stage Docker build (~70MB image)
├── docker-compose.yml # Container orchestration with cron scheduling
├── entrypoint.sh # Container entrypoint (cron/once/shell modes)
├── docker/
│ └── entrypoint.sh # Container entrypoint (cron/once/shell modes)
├── benchmarks/
│ └── bench_collectors.py # Sync vs async collector performance benchmarks
├── inventories/
Expand All @@ -556,6 +557,7 @@ audnet/
│ ├── release.yml # GitHub Release creation on v* tags
│ ├── auto-close-issues.yml # Auto-close linked issues on PR merge
│ ├── issue-labeler.yml # Auto-label issues
│ ├── labeler.yml # Auto-label PRs by changed paths
│ └── size-label.yml # Auto-label PR size
├── src/audnet/
│ ├── __init__.py # Package init, version
Expand Down Expand Up @@ -1073,6 +1075,7 @@ All configuration is via environment variables:
| `AUDNET_REPORTS` | `/app/reports` | Report output directory |
| `AUDNET_HISTORY_DIR` | `/app/.net-audit` | History database directory |
| `NETBOX_TOKEN` | (none) | NetBox API token (required for `netbox://` inventory) |
| `AUDNET_SMTP_PASSWORD` | (none) | SMTP password for email alerts (used by `listen` command) |

### Volume mounts

Expand Down
3 changes: 2 additions & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@

| Version | Supported |
| ------- | ------------------ |
| 0.2.x | :white_check_mark: |
| 0.3.x | :white_check_mark: |
| 0.2.x | :x: |
| 0.1.x | :x: |

## Reporting a Vulnerability
Expand Down
Loading