Skip to content

Latest commit

 

History

History
83 lines (65 loc) · 3.99 KB

File metadata and controls

83 lines (65 loc) · 3.99 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.2.0 - 2025-11-15

Added

  • New public functions
    • New-PSProfileSnapshot
      • Creates snapshots of the current profile with optional custom names and notes metadata
    • Get-PSProfileSnapshot
      • Lists all stored snapshots with metadata, file size, hash, and creation time (sorted newest first)
    • Restore-PSProfileSnapshot
      • Restores the profile from a named snapshot or GUID with automatic safety backups
    • Remove-PSProfileSnapshot
      • Removes snapshots with support for retention policies (KeepLast, OlderThan timespan); deletes ALL associated files (backup, hash, metadata, pre-restore)
    • Compare-PSProfileSnapshot
      • Shows line-by-line differences between two snapshots or a snapshot and the current profile
    • Register-PSProfileSnapshotTest
      • Registers automatic snapshot integrity checking at profile load time
    • Unregister-PSProfileSnapshotTest
      • Removes automatic snapshot testing from the profile
    • Test-PSProfileSnapshot
      • Tests current profile integrity against the latest snapshot with detailed diff visualization
    • Clear-PSProfileSnapshotOrphans
      • Cleans up orphaned snapshot files (hash, metadata, and pre-restore safety backups) that lack corresponding backups
  • Metadata storage system using JSON files for snapshot documentation
  • GUID-based snapshot identification for reliable snapshot tracking
  • Comprehensive Pester test suite with 28 unit tests covering all snapshot functions
  • Module refactoring to use dot-sourcing pattern for cleaner function organization
  • Pipeline interoperability
  • Pre-restore safety backup files created before restoration operations for easy undo capability
  • Pre-restore orphan cleanup as part of maintenance function

Changed

  • Module version bumped from 0.1.1 to 0.2.0
  • Complete redesign to snapshot-based approach
  • Parameter names standardized across functions
  • GUID property returned as [guid] type instead of string for proper typing
  • Remove-PSProfileSnapshot enhanced to remove all 4 associated file types (was only removing backup file)

Removed

  • Export-PSProfileHash (replaced by New-PSProfileSnapshot)
  • Test-PSProfileHash (replaced by Test-PSProfileSnapshot)
  • Add-PSProfileCheck (replaced by Register-PSProfileSnapshotTest)
  • Remove-PSProfileCheck (replaced by Unregister-PSProfileSnapshotTest)
  • Reset-PSProfileState (empty placeholder function)

Fixed

  • Get-PSProfileSnapshot no longer uses Format-Table, returns raw objects for proper pipeline use
  • Type consistency issues with GUID parameters across functions

0.1.1 - 2025-11-11

Changed

  • Refresh NuGet package due to corruption issue
  • Add .gitignore for project
  • Bump v0.1.1
  • Add screenshot and demo recording

0.1.0 - 2025-11-11

Initial release of PSProfileWatcher module. This module provides utilities to monitor and detect changes to PowerShell profiles by maintaining hash signatures and backups.

Added

  • Export-PSProfileHash - Saves a SHA256 hash snapshot and backup copy of the current user's PowerShell profile
  • Test-PSProfileHash - Compares the current profile hash against the most recently saved hash to detect unauthorized or accidental changes
  • Add-PSProfileCheck - Adds a call to Test-PSProfileHash at the beginning of the user's profile to enable automatic checking on profile load
  • Remove-PSProfileCheck - Removes the Test-PSProfileHash call from the user's profile
  • Module manifest (PSSecurityUtils.psd1) with proper versioning and function exports
  • Comprehensive help documentation for all public functions