Skip to content

Latest commit

 

History

History
218 lines (148 loc) · 17.6 KB

File metadata and controls

218 lines (148 loc) · 17.6 KB

MILESTONES.md — planning by semester

Forward-looking work plan organized by semester (calendar year + quarter, e.g. CY26Q2). Sits between ROADMAP.md (high-level phase plan) and FUTURES.md (backlog index, no scheduling).

The semester is the primary planning unit. Each semester maps to a GitHub milestone of the same name. Themed groupings ("Milestones A, B, C, ...") stay as stable identifiers for what kind of work an item is, while the when is the semester.

Done milestones (Phase 1, Phase 2, etc.) are summarized in COMPLETED.md. What follows is forward-looking only.


Guiding principle: improve before audience-reducing changes

Before any change that would reduce the project's reach — TFM bumps, modern-.NET moves, Visio version baseline shifts — we prioritize work that makes the current audience better served: documentation, convenience features, code quality, testing, maintainability, and addressing user feedback. The reasoning: if anyone later wants to pick up maintenance of an older-Visio or older-.NET fork, they should start from a finished, well-documented, well-tested baseline rather than inheriting a half-renovated codebase.

This principle drives the semester sequencing below. 2026 (CY26Q2 through CY26Q4) is dedicated to audience-preserving improvements. 2027 onward (CY27Q1+) is when audience-reducing modernization begins, after the Windows 10 LTSB 2016 mainstream-support sunset (2026-10-13) and after the 2026 priority work is mature.


Semester schedule

CY26Q2 — April–June 2026 (current)

GitHub milestone — due 2026-06-30

Theme: Kick off audience-preserving improvements. Schedule the cmdlet-ergonomics review, start the portfolio audit, sweep older issues, formalize the test-suite design decision.

Item Themed milestone Issue
Scoping review (May 2026): VisioBot3000 + PSVA borrowed-ideas backlog D #149
PSVA cmdlet-surface audit (feeds the May review) D #150
Phase B: pipeline-friendly parameter set on Connect-VisioShape D #163
Q2 2026 issue triage pass (#80, #82, #102, #105, #117) Triage #151
Visio repo portfolio audit Phase H1 (centralized index + per-repo READMEs) H #152
Tests-need-Visio design-decision write-up F #153
Version compatibility tables on user-facing gitbooks E #161

CY26Q3 — July–September 2026

GitHub milestone — due 2026-09-30

Theme: Execute on the May 2026 cmdlet-ergonomics shortlist; close the docs and test decisions that are blocking later work; ship the existing docs-coverage backlog.

Item Themed milestone Issue
VisioScripting.Client undocumented in gitbook E #131
VisioAutomation.Models undocumented (DOM + Layouts) E #132
Add troubleshooting page to .NET gitbook E #133
Audit: test coverage gaps on the public API surface F #154
Cmdlet-binding test coverage (first slice from #154 audit) F #173
Trim redundant <frameworkAssembly> from VisioAutomation2010.nuspec B #176
Discussion: doc-sample-as-test linkage mechanism E #155
Decide: VisioScripting public-API status E #156
Decide: long-term docs location E #157
Phase A scoping: PSVA candidate cmdlets (semantics + test plans) D #162
(Cmdlet ergonomics implementation work from Phase A scoping) D (issues filed from #162 outcome)

CY26Q4 — October–December 2026

GitHub milestone — due 2026-12-31

Theme: Identity transition push. Move GitHub repo and gitbook spaces to SevenPens-owned hosting; rewrite in-repo URLs once the destinations are stable.

Item Themed milestone Issue
Migrate GitHub repo to SevenPens-owned account A #146
Migrate gitbook spaces to SevenPens-owned hosting A #147
Phase 5b: in-repo URL rewrite (single commit after #146 + #147 land) A (no issue; one-shot commit)
Retire unused VisioAutomation PSGallery co-owner account A #148 (ride-along)
Open NuGet support case to declassify the saveenr account A #179
Revise user-facing gitbook docs for accuracy across cmdlets and library APIs E #172

CY27Q1 — January–March 2027

GitHub milestone — due 2027-03-31

Theme: Modernization unlock (gated on Windows 10 LTSB 2016 mainstream-support sunset 2026-10-13). TFM bump, VS 2026, manifest deprecation cleanups. Plus the spike-and-audit work that informs 2027's deeper changes.

Item Themed milestone Issue
TFM bump shipping-libs 4.5.2 → 4.7.2 B #174
Move dev environment to VS 2026 B #171
Visio.psd1 deprecation cleanups (ModuleToProcess/PowerShellVersion) B #178
Re-evaluate version-policy decision B (no issue yet)
Switch module-release builds Debug → Release B #177
Spike: NetOffice / NetOfficeFw as a Visio PIA replacement C #158
Audit: identify Visio-2010-only paths in the codebase G #159
ShapeSheet query ergonomics spike (LINQ and other shapes) F #170

CY27Q2 — April–June 2027

GitHub milestone — due 2027-06-30

Theme: Modern .NET multi-target work begins; Visio 2013 baseline decisions. Both informed by the CY27Q1 spike and audit.

Item Themed milestone Issue
C# 14 / .NET 10 multi-target migration (informed by #158) C #175
Visio PIA replacement decision (informed by #158) C (folded into #158's deliverable)
Decide: Visio 2013 baseline branding G #160
Visio 2013 baseline migration implementation (gated on #160) G (no issue yet)

Beyond CY27Q2

Items pending but not yet semester-assigned:

  • Documentation work past the CY26Q3 burst — treated as continuous through CY26Q4 and into 2027 as items come up. New docs items get assigned to the semester they're picked up in.
  • Visio repo portfolio audit Phase H2 (per-repo retire / merge / maintain decisions). Opportunistic through CY26Q4 and CY27 as the picture clarifies.

Themed milestones (the what kind of work axis)

The semester schedule above is the when. The themed milestones below are the what kind of work. Each item in the schedule is tagged with a milestone letter so you can read by theme. Each milestone may span multiple semesters.

Milestone A — Identity transition complete

Theme: Finish the dev-team identity transition from Saveen / saveenr to SevenPens.

User impact: Old hosting URLs keep resolving via redirects; new canonical URLs live under SevenPens-owned hosting. No broken bookmarks, no consumer disruption.

Semesters: CY26Q4 (target window).

Items: see CY26Q4 schedule above. Detail in futures/identity.md.

Milestone B — Modernization unlock

Theme: Bump shipping-lib TFMs from .NET Framework 4.5.2 to 4.7.2, move dev to VS 2026, clear longstanding deprecation / version-hygiene cruft.

User impact: Audience-reducing. Minimum supported .NET Framework rises from 4.5.2 to 4.7.2 — affects only consumers on pre-1803 Windows, which leave mainstream support October 2026. Modern IDE tooling, faster builds, cleaner manifest metadata.

Semesters: CY27Q1 (target window). Gated on the Windows 10 LTSB 2016 sunset 2026-10-13.

Items: see CY27Q1 schedule above. Detail in futures/build-and-code.md and futures/releases.md.

Milestone C — Modern .NET (multi-target)

Theme: Add net10.0-windows (or current .NET 10 TFM) alongside net48. Decide whether to replace the Visio PIA with NetOffice / NetOfficeFw.

User impact: Modern C# features (extension members, etc.) and better .NET 10 perf become available. Existing net48 consumers unaffected (multi-target). Windows PowerShell 5.1 users of VisioPS get the net48 build; PowerShell 7+ users get the .NET 10 build.

Semesters: CY27Q1 (spike) → CY27Q2 (implementation begins). Sequenced after Milestone B.

Items: see CY27Q1 and CY27Q2 schedules above. Detail in futures/build-and-code.md.

Milestone D — Cmdlet ergonomics

Theme: Adopt the good ideas from sibling community PowerShell-for-Visio projects (VisioBot3000, PSVA) plus the EncodeValues simplification.

User impact: Friendlier authoring for VisioPS users — nickname registry, block-style nesting for containers, bulk shape operations, custom-property authoring without manual EncodeValues(). Limited to the items the May 2026 scoping review picks; rest stays in backlog.

Semesters: CY26Q2 (review) → CY26Q3 (implementation through bandwidth).

Items: see CY26Q2 and CY26Q3 schedules above. Detail in futures/build-and-code.md.

Milestone E — Documentation completeness

Theme: Close documentation gaps on user-facing gitbooks and in-repo dev guides. Includes the long-running policy decisions about where docs live and what is public.

User impact: Easier onboarding for new contributors and consumers; fewer "had to read the source" moments. Reference docs cover the surface that users actually program against.

Semesters: CY26Q3 (concentrated burst — the existing docs issues + the location/public-API decisions). Continuous through CY26Q4 and into 2027 as items come up.

Items: see CY26Q3 schedule above. Detail in futures/docs.md.

Plus longer-running items not yet semester-assigned (will be picked up as bandwidth allows):

  • Restructure user-docs repos — gated on the docs-location decision (#157).
  • Keep CHANGELOGs current (process item, not a one-shot).
  • Visio version ↔ PIA mapping reference page — new doc page explaining the version-number table (Visio 2010 = 14, 2013 = 15, ...) and where to get each PIA. Couples to the Visio-PIAs sibling repo.

Milestone F — Test infrastructure

Theme: Modernize the test suite and address the live-Visio dependency that currently keeps tests off CI.

User impact: More reliable releases (catch regressions in CI rather than at publish time); contributor onboarding without a Visio install for the test buckets that don't actually need one.

Semesters: CY26Q2 (design-decision write-up) → CY26Q3 (coverage audit) → CY26Q4+ (implementation as bandwidth allows).

Items: see CY26Q2 and CY26Q3 schedules above. Detail in futures/build-and-code.md and futures/tests.md. The "tests need a live Visio" rule that gates CI today is now formalized in decisions/tests-need-visio.md. The no-Visio test split has de facto started: ManifestTests and XmlErrorLogTests are existing examples of the no-Visio bucket; the planned tagging work to turn the implicit split explicit is part of this milestone.

Milestone G — Visio 2013 baseline migration

Theme: Move the codebase's baseline Visio version from 2010 to 2013.

User impact: Audience-reducing. Consumers still on Visio 2010 (released 2010, mainstream support ended 2015, extended support ended 2020) would no longer see new releases. Visio 2013+ users get access to capabilities the 2013-era Visio API added.

Semesters: CY27Q1 (audit) → CY27Q2 (branding decision → implementation).

Items: see CY27Q1 and CY27Q2 schedules above.

Milestone H — Visio repo portfolio audit

Theme: Take stock of the broader Visio-related repo portfolio. Make each repo's status visible; decide what to retire / merge / maintain.

User impact: Visitors to any of the 9 sibling repos can tell at a glance whether it's active. Reduces "is this still maintained?" friction. Cleanup of dormant repos shrinks reader surface area.

Semesters: CY26Q2 (Phase H1: index + per-repo READMEs). CY26Q3+ for Phase H2 (per-repo retire/merge/maintain decisions, opportunistic).

Items: see CY26Q2 schedule. Phase H2 not yet scheduled to a specific semester. Repos in scope:


Triage backlog (handled in #151, CY26Q2)

Older issues triaged on 2026-05-07. Per-issue rationale in #151's decision comment. Summary of outcomes:

  • #80 — New logo. Closed as not-planned (any branding work belongs in Axis 5, CY26Q4).
  • #82 — Size + Cells on directed graph node. Real bug, fix in flight on a branch this session. Milestoned to CY26Q2; closes when the fix lands on master.
  • #102 — Problem creating shape from template. Closed as completed (both questions answered in-thread on 2026-05-06).
  • #105 — directed-graph layout/direction umbrella. Closed as completed (sub-items shipped in NuGet 3.0.0; docs page live).
  • #117 — Custom-properties on directed graph. Open, revisit ~2026-05-27. Fix shipped in Visio PowerShell 4.7.0 on 2026-05-06; awaiting reporter confirmation.

Updating this doc

  • When a milestone item lands, move it from this doc to COMPLETED.md (or strike it through here if the semester is mid-flight).
  • When a proposed semester slips, move the item to a later semester in this doc and re-tag the GitHub issue's milestone.
  • When a new item arrives, decide its semester first (when does it land?), then its themed milestone (what kind of work is it?). Add to the semester schedule and tag the issue accordingly.
  • Add new semesters as the long-term picture clarifies. CY27Q3 and beyond aren't yet structured here; they will be when the current 2027 work matures enough to forecast.
  • The targets here are not commitments to consumers — release notes and CHANGELOGs are the authoritative "what's shipped when" record. This doc is internal planning.
  • The guiding principle (improve before audience-reducing changes) governs sequencing. If a future change bumps a 2027+ item earlier, the principle should be revisited at the same time, not silently overruled.