# Overview

LLMS index: [llms.txt](/llms.txt)

---

PackageUpdateInfo helps you keep installed PowerShell modules up to date. It compares
local module versions with versions from configured online repositories (for
example PSGallery) and reports when newer versions are available.

## What does PackageUpdateInfo do?

The module can:

- Query locally installed modules.
- Discover current online versions.
- Compare versions with configurable sensitivity (major, minor, build, revision).
- Show rich output including repository, release notes, author, and project links.
- Export results for later import and fast startup workflows.

## Why use PackageUpdateInfo?

### Convenience

- Quickly identify outdated modules without manually checking each one.
- Export and import update information for offline or delayed review.
- Run update checks in background jobs.
- Use optional toast notifications on Windows.

### Automation

- Schedule update checks using your profile, scheduled tasks, or startup routines.
- Enforce an update-check interval to reduce unnecessary repository queries.
- Keep custom rules per module pattern for update sensitivity.
- Reuse previously exported data for low-latency shell startup.

### Flexibility

- Include or exclude module name patterns.
- Define rule scope and precedence with default and custom rules.
- Works on Windows, Linux, and macOS.
- Supports Windows PowerShell 5.1 and PowerShell 7+.

## Prerequisites

- Windows PowerShell 5.1 or PowerShell 7+.
- PowerShellGet access to your target repository (for example PSGallery).
- Optional: BurntToast module for toast notifications on Windows.

## Installation

Install for all users (requires administrative rights):

```powershell
Install-Module PackageUpdateInfo
```

Install for the current user:

```powershell
Install-Module PackageUpdateInfo -Scope CurrentUser
```

## Quick start

Run an interactive check:

```powershell
Get-PackageUpdateInfo
```

Show only modules that need an update:

```powershell
Get-PackageUpdateInfo -ShowOnlyNeededUpdate
```

Force a check even if the configured update interval has not expired:

```powershell
Get-PackageUpdateInfo -Force
```

Use toast notifications (Windows with BurntToast):

```powershell
Get-PackageUpdateInfo -ShowToastNotification
```

## Practical automation pattern

Export update data in a background job and import it on shell startup:

```powershell
Start-Job -ScriptBlock { Get-PackageUpdateInfo -ShowOnlyNeededUpdate -ShowToastNotification | Export-PackageUpdateInfo } | Out-Null
Import-PackageUpdateInfo
```

This keeps startup interactive while still surfacing recent update information.

## Next steps

- Continue with Operational best practices for tuning, rule design, and automation.
- Continue with Troubleshooting for common errors and recovery flows.
