# Version compatibility

Per-release reference table for the [`Visio`](https://www.powershellgallery.com/packages/Visio) PowerShell module, mapping each version to the PowerShell editions it supports, the .NET runtime its bundled DLLs target, and the contemporaneous [`VisioAutomation2010`](https://www.nuget.org/packages/VisioAutomation2010/) NuGet release that ships inside the module. Use it to pick the right module version for a given environment, or to confirm whether an older module will load into a constrained PowerShell host.

For the matching .NET-side per-version matrix see the [VisioAutomation NuGet version compatibility](https://saveenr.gitbook.io/visioautomation/version-compatibility) page.

## Modern era (changelog-tracked)

These versions are documented in [`VisioPowerShell/CHANGELOG.md`](https://github.com/saveenr/VisioAutomation/blob/master/VisioAutomation_2010/VisioPowerShell/CHANGELOG.md). Every row's data is sourced from the corresponding git tag's `Visio.psd1` and `csproj`.

| Module version | Released   | PowerShell host                                                                                                                                                        | Bundled DLL TFM | Visio PIA baseline   | Bundled VisioAutomation2010                           | Release notes                                                                                                                                |
| -------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | -------------------- | ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `4.7.2`        | 2026-05-06 | Windows PowerShell 5.1; PowerShell 7+ via the [Windows PowerShell compatibility shim](https://learn.microsoft.com/powershell/scripting/whats-new/module-compatibility) | `net452`        | Visio 2010 PIA (v14) | `3.0.0` (matching commit)                             | [4.7.2 changelog](https://github.com/saveenr/VisioAutomation/blob/master/VisioAutomation_2010/VisioPowerShell/CHANGELOG.md#472---2026-05-06) |
| `4.7.0`        | 2026-05-06 | Windows PowerShell 5.1; PowerShell 7+ via the compatibility shim                                                                                                       | `net452`        | Visio 2010 PIA (v14) | `3.0.0` (matching commit)                             | [4.7.0 changelog](https://github.com/saveenr/VisioAutomation/blob/master/VisioAutomation_2010/VisioPowerShell/CHANGELOG.md#470---2026-05-06) |
| `4.6.1`        | 2026-05-03 | Windows PowerShell 5.1; PowerShell 7+ via the compatibility shim                                                                                                       | `net452`        | Visio 2010 PIA (v14) | `2.6.0` (matching commit; tag only, not on nuget.org) | [4.6.1 changelog](https://github.com/saveenr/VisioAutomation/blob/master/VisioAutomation_2010/VisioPowerShell/CHANGELOG.md#461---2026-05-03) |

`4.7.2` is the current published release on [PSGallery](https://www.powershellgallery.com/packages/Visio).

### About the `Visio.psd1` `PowerShellVersion = '2.0'` claim

The module's manifest historically declares `PowerShellVersion = '2.0'` and `CLRVersion = '4.0'`. These declarations predate the move to `net452` binaries and are not accurate for the modern releases. The actual minimum is **PowerShell 5.1 on .NET Framework 4.5.2**, because that is what the bundled `VisioPS.dll` and its dependencies require to load. Older PowerShell hosts will fail at module-import time with an assembly-load error. Updating the manifest declarations is tracked separately and does not change the runtime requirements.

## Pre-changelog era

Versions prior to `4.6.1` predate [`VisioPowerShell/CHANGELOG.md`](https://github.com/saveenr/VisioAutomation/blob/master/VisioAutomation_2010/VisioPowerShell/CHANGELOG.md). The data below is reconstructed from the [release-history page](/visiopowershell/developer-info/release-history.md) and from inspecting historical commits; runtime details for these versions are best-effort.

| Module version                            | Released          | Notes                                                                      |
| ----------------------------------------- | ----------------- | -------------------------------------------------------------------------- |
| `4.4.0`                                   | 2021-11-22        | Added cmdlets for geometric primitives.                                    |
| `4.0.0`                                   | 2019-08-14        | Major cmdlet refactor; back-compat-breaking with the 3.x line.             |
| `3.0.1`                                   | 2019-03-09        | Package metadata update.                                                   |
| `3.0.0`                                   | 2019-03-09        | Major cmdlet refactor.                                                     |
| `1.x` series (`1.1.11` through `1.2.211`) | various, pre-2019 | Bug fixes and small enhancements. Built against the older `net40` library. |

For the exact set of tags and their dates see the repo's [release tags](https://github.com/saveenr/VisioAutomation/releases) and [git history](https://github.com/saveenr/VisioAutomation/commits/master/).

## Constants across all versions

* **Visio version baseline** is **Visio 2010** (PIA major version 14). The bundled library's typed surface targets the 2010 PIA so it loads cleanly on any Visio install from 2010 onward; APIs added in later Visio versions are reachable through the underlying `IVisio` COM objects but are not surfaced as typed cmdlet parameters.
* **Bitness:** the bundled DLLs are AnyCPU. The PowerShell process that imports the module must match Visio's bitness, since COM activation goes through an in-process bridge. See [Visio version compatibility](/visiopowershell/technical-notes/visio.md) for details.
* **License:** MIT. Records the `SevenPens` publishing identity from `4.7.0` onward (was `Saveen Reddy` on earlier releases); the license terms themselves are unchanged.

## Future TFM moves

The bundled libraries' minimum target framework will rise from `net452` to `net472` once Windows 10 LTSB 2016 leaves Extended Support on **2026-10-13**. The change will surface in a future module release as a higher .NET Framework requirement on the host. Modern Windows installs already have `net472` available, so the practical impact is on locked-down enterprise images.

## See also

* [VisioAutomation NuGet version compatibility](https://saveenr.gitbook.io/visioautomation/version-compatibility) (the matching matrix for the .NET library)
* [Release history](/visiopowershell/developer-info/release-history.md) (per-version release notes for the PowerShell module)
* [Visio version compatibility](/visiopowershell/technical-notes/visio/version-compatibility.md) (which Visio versions the module supports, independent of module version)
* [PowerShell version compatibility](/visiopowershell/technical-notes/powershell/powershell-version-compatibility.md) (PowerShell host considerations)
* [`Visio` on PowerShell Gallery](https://www.powershellgallery.com/packages/Visio) (current published versions)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://saveenr.gitbook.io/visiopowershell/developer-info/version-compatibility.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
