Skip to content

Roadmap

S2DCartographer follows a milestone-based release cadence. Each milestone targets a focused capability area. The current stable release is v1.4.2.

Live status of everything below is tracked on GitHub Milestones.


Next Release — v1.5.0 — Output Quality

Stabilisation milestone. Fixes broken PDF graphs and Word document layout in the current product before any new capability is added.

Issue Fix
#53 PDF: capacity model waterfall bar graph renders incorrectly — bar chart visual is wrong despite correct data values.
#54 PDF: pool allocation and storage pool health bar graphs display incorrectly.
#55 Word: executive summary table is cramped and unreadable — cell spacing, padding, and sizing need correction.
#56 Word: overall document formatting and layout does not meet customer-facing quality standards.

v1.6.0 — Visualization, Scoring & Output

Feature uplift covering interactive diagrams, graduated health check scoring, PDF layout improvements, and operational robustness.

Health Check & Scoring

Issue Feature
#57 Graduated threshold scoring — partial-credit rules for health checks; replaces flat pass/fail with weighted, threshold-based scoring.
#58 Named calculation references — pre-computed aggregates defined in health check config; depends on #57.
#59 Health check config download and hot-swap — download and upload the health check JSON config via CLI without re-running collection; depends on #57, #58.

Visualization

Issue Feature
#60 vis.js interactive topology diagram — cluster, pool, and volume hierarchy rendered as an interactive in-browser diagram.
#61 html2canvas diagram capture — embed the interactive vis.js diagram as a PNG in PDF and Word reports; depends on #60.

PDF & Report Layout

Issue Feature
#62 Page-break-aware table helper — automatic header repeat across page breaks for all multi-page tables.
#63 Portrait/landscape page switching per PDF section — wide tables switch to landscape and back; depends on #62.
#64 Conditional cell coloring — status and severity-based colour coding in HTML and PDF tables; depends on #62.

Output & Cost

Issue Feature
#65 JSON evidence export — raw collected data export with no scoring metadata, for downstream tooling and audit trails.
#68 Azure Hybrid Benefit and licensing cost savings — surface AHB coverage, per-core cost, and potential savings in the report.

UX

Issue Feature
#66 Full-screen progress overlay — named collection stage labels shown during run so operators know what is happening.
#67 Per-section search and filter — search input in HTML report to filter table rows per section.

Robustness

Issue Feature
#69 Concurrent collection guard and empty-data safeguards — prevent overlapping runs; handle empty collector results without crashing report generation.

v2.0.0 — Extended Hardware Coverage

Issue Feature
#25 OEM-specific disk enrichment — extend Get-S2DPhysicalDiskInventory with vendor-specific data from Dell iDRAC, HPE iLO, Lenovo XClarity, and DataON interfaces. Surfaces drive bay location, predicted failure, and platform-level health alongside standard S2D disk data. Pending a validation environment across all four vendors.

Completed

Version Highlights
v1.4.2 Fix RebuildCapacity false Critical when NodeName grouping is unreliable after pool-member disk deduplication.
v1.4.1 Fix pool-member disk duplication on multi-node clusters — Get-PhysicalDisk on any S2D node returns all pool members globally; deduplicate by UniqueId to prevent 4× inflation of Stage 1 raw capacity. Adds top-level NodeCount to JSON snapshot.
v1.4.0 7-stage waterfall (Stage 8 removed), stage health isolation (all stages always OK, reserve health on ReserveStatus only), reserve formula corrected, infra volume detection extended (UserStorage_N, HCI_UserStorage_N, SBEAgent), HTML delta column, Word report waterfall table, Invoke-S2DCapacityWhatIf delta loop fix. Closes #46#52.
v1.3.1 Sample output reports in docs.
v1.3.0 What-if capacity modeling (Invoke-S2DCapacityWhatIf), thin provisioning risk detection (Check 6 tiered thresholds + new Check 11 ThinReserveRisk), ThinGrowthHeadroom / MaxPotentialFootprint volume properties, Thin Provision Risk KPI in HTML report, Invoke-S2DWaterfallCalculation pure function. Closes #27, #44.
v1.2.1 Capacity model correctness — pool-member-only Stage 1, purely theoretical Stages 7/8, resiliency factor from pool settings. Closes #43.
v1.2.0 JSON snapshot export (SchemaVersion 1.0), opt-in CSV per-collector tables, pool-member disk filter (IsPoolMember) across reports and health checks, Surveyor cross-link in docs, -IncludeNonPoolDisks switch. Closes #35, #40, #41, #42.
v1.1.1 Fix parameter-set splat in Invoke-S2DCartographer that broke -KeyVaultName and explicit -Authentication; added -Username parameter for Key Vault secrets without a ContentType tag. Closes #39.
v1.1.0 Default -Format changed to All; ImportExcel bundled as a RequiredModules dependency; per-run output folder structure <OutputDir>\<ClusterName>\<yyyyMMdd-HHmm>\; session log file; thicker pool allocation breakdown bar; full authentication / remoting / node fan-out docs with flowchart diagram. Closes #34, #36, #37, #38.
v1.0.8 Fix Get-S2DHealthStatus crash on live clusters — replaced Generic.List[S2DHealthCheck] with a plain array to work around PowerShell class type resolution on dot-sourced classes.
v1.0.7 Storage Pool Health bar (WAC-style), Pool Allocation Breakdown bar, Capacity Model stage descriptions, Critical Reserve Status KPI.
v1.0.2 – v1.0.6 Workgroup / non-domain-joined connectivity fixes — WinRM authentication inheritance, TrustedHosts short-name resolution, per-node CIM fan-out FQDN resolution, pre-flight credential validation.
v1.0.0 Full pipeline: all 6 collectors, HTML/Word/PDF/Excel reports, 6 SVG diagram types, Invoke-S2DCartographer orchestrator, 119 Pester tests, MkDocs documentation site.
v0.1.0-preview2 Bug fix: non-domain-joined connectivity (Connect-S2DCluster).
v0.1.0-preview1 Foundation: S2DCapacity class, ConvertTo-S2DCapacity, Connect-S2DCluster, Get-S2DPhysicalDiskInventory.

Requesting Features

Open an issue at AzureLocal/azurelocal-s2d-cartographer using the feature request template. Include the cluster configuration context (node count, drive types, Azure Local version) — most useful features come from real deployment scenarios.