Files

46 lines
4.0 KiB
Markdown

# Changelog
## 2026-02-26
- Added `scripts/build_2026_tracker_workbook.py` to build `2026_Nessus_Remediation_Tracker.xlsx` with:
- `Intro` sheet copied from `OLD_Tracker.xlsx`
- current generated `Remediations` and `Template` sheets
- month sheets (`January`..`December`) cloned from `Template`
- exclusion of `CVETracker`, `testing`, and historical month CVE data
- Updated 2026 workbook generation to preserve `Intro` in-place from `OLD_Tracker.xlsx` (including original sheet outline/formatting fidelity).
- Set freeze panes to `A2` on `Template` and all month sheets in `2026_Nessus_Remediation_Tracker.xlsx`.
- Added `WIKI.md` quick usage guide with setup, workbook workflow, key formats, validation, and push/mirror steps.
- Simplified `Remediations` status options to `exception`, `exception - permanent`, in-progress variants, and `resolved`.
- Added `Excepted until (date)` to `Remediations` and `Template`, with overdue-date highlighting (red) when the date has passed.
- Added `First seen` to `Remediations` and `Unresolved for` to `Template` (`days` since first seen when first seen is before today).
- Fixed `Template` key lookup to match CVEs even when `Remediations` CVE cells include extra leading/trailing spaces.
- Updated key-driven `Template` formulas to return blank for missing source values (including exception date) instead of displaying Excel zero-date artifacts.
- Fixed malformed `Template` `Unresolved for` formula that caused Excel to remove formula records from `sheet2.xml` during file recovery.
- Fixed `Template` key lookup regression for numeric `Plugin ID` keys by matching Plugin IDs with numeric-first fallback logic.
- Added repository policy in `AGENTS.md` requiring blank output for missing key-driven auto-populated values.
- Updated `scripts/build_tracker_workbook.py` default seed rows for the new column layout and status set.
- Updated `README.md` workbook column definitions and behavior notes for exception dates and unresolved metrics.
## 2026-02-24
- Switched workbook generation to `openpyxl` in `scripts/build_tracker_workbook.py`.
- Kept `Remediations` and `Template` structure and matching logic (`CVE` first, then `Plugin ID`).
- Added repository baseline directives in `AGENTS.md` for git workflow, changelog updates, and workbook validation.
- Updated `README.md` with dependency and generation instructions.
- Updated template formulas so rows stay blank when both `CVE` and `Plugin ID` are empty.
- Updated template formulas so `NEW ITEM` appears only when an entered `CVE`/`Plugin ID` is unmatched.
- Made `Template` `Name` cells hyperlink to the matched `Remediations` row.
- Added `Severity` and `Status` dropdown validations on `Remediations`.
- Added severity/status conditional formatting on both `Remediations` and `Template`.
- Switched `Template` lookup flow to key-driven input (manual `Key` in column A).
- Added key normalization for lookup (`CVE:...`, `PID:...`, or raw value).
- Auto-populated both `CVE` and `Plugin ID` in `Template` when key match is found.
- Updated auto-populated `Template` CVE display to show `n/a` when a matched remediation row has no CVE value.
- Protected `Template` sheet so only `Key`, `Hosts`, and `Owner` cells are editable in data rows.
- Updated template scan note formulas to preserve blanks from `Remediations` instead of displaying `0`.
- Seeded the generator with the current `Remediations` entries as default test data.
- Enabled word wrap for Name/Description/notes columns in `Remediations` and Name/notes columns in `Template`.
- Switched workbook write to atomic temp-file replacement to prevent partially written/corrupt `.xlsx` outputs.
- Expanded status options to exception/in-progress variants and removed `nofix`.
- Updated status conditional formatting rules to color any `exception*` as blue, any `in progress*` as yellow, and `resolved` as green.
- Updated `README.md` dependency requirements and install instructions (`apt` + `pip`).
- Updated `AGENTS.md` to require dependency documentation updates when module requirements change.