- Remove beta prerelease metadata; retain the 29-command API and PowerShell 7.4 baseline.
- Add a prominent community testing invitation with actionable bug-report guidance.
- Align README, packaging documentation and security support status with 3.0.0.
- Update archive regression expectations for the stable version.
Live AD, remote CIM and service authentication remain unverified against real endpoints. This entry records release preparation; a GitHub release or Gallery publication is a separate action.
The modernization review is complete. This beta retains the 29-command API and PowerShell 7.4 baseline. Live AD, remote CIM and service authentication still require integration validation. This entry does not announce a GitHub release or PowerShell Gallery publication.
- Promote manifest prerelease metadata from alpha1 to beta1.
- Improve project documentation, command help and code formatting.
- Add contributor templates and a security policy.
- Include the contributing guide and security policy in installable archives.
- Restore explicit four-space indentation and branch-selection instructions.
- Consolidate completed modernization history below and retain older releases.
- Document cloning, local import, updates, command help and platform requirements.
- Clarify v2 migration boundaries and supported preview commands.
- Add contributing instructions for feature branches, four-space style and CI.
- Add a local ZIP builder with conventional IT-ToolBox/version module layout.
- Package supported code and documentation only; exclude legacy and development files.
- Validate staged syntax and manifest; refuse to overwrite existing archives.
- Add real archive-content and isolated import/logger tests to the three-platform CI.
- Document preview installation; retain alpha1 metadata without publishing or signing.
- Remove the obsolete Close-AzureSession helper and document service-specific authentication ownership.
- Remove the process-wide certificate-validation bypass snippet; retain Git history.
- Remove legacy New-ExchangeSession and Close-ExchangeSession; retain their Git history.
- Delegate Exchange Online connection management to ExchangeOnlineManagement.
- Keep WinSCP/SCP and PGP/OpenPGP assigned to their own module projects.
- Replace the stale staging placeholder and correct README test coverage.
- Add isolated import/reload regression coverage for TLS, sessions and archive exclusion.
- Retain the 29-command supported API and alpha1 preview version.
- Restore Get-ScriptDirectory and Get-ScriptName; export twenty-nine commands.
- Resolve the immediately calling script rather than module-scoped invocation data.
- Support explicit literal filesystem paths and pipeline input without requiring existence.
- Return no output for interactive calls without a script path.
- Remove dependence on the externally supplied hostinvocation variable.
- Add real script, nested/dot-sourced caller and isolated interactive regression tests.
- Restore Test-IsValidDn, Test-IsValidUpn and Get-ReportChain; export twenty-seven commands.
- Replace DN/UPN regexes with documented practical syntax policies and pipeline support.
- Support DN escapes, multi-valued RDNs, long UPN suffixes and IDN suffixes.
- Preserve report-chain identities, aliases, server selection and property projection.
- Escape LDAP assertion values for UPN lookup and transitive manager queries.
- Require exactly one manager, exclude the manager from results and propagate AD errors.
- Keep ActiveDirectory optional at import; add mocked query and syntax regression tests.
- Complete migration of all former Staging/v3 candidates.
- Restore Remove-SpecialCharacters and Test-RegistryValue; export twenty-four commands.
- Preserve the historical punctuation policy; return a rename preview by default.
- Honor WhatIf/Confirm, preflight collisions and rename deepest descendants first.
- Use literal paths, include hidden entries and skip symbolic links/junctions.
- Preserve LogActivites with a corrected alias and configurable portable log path.
- Check Windows registry value names regardless of data; support unnamed values.
- Propagate operational failures and document platform and non-transactional behavior.
- Add real filesystem tests and Windows-only temporary HKCU integration tests.
- Restore Convert-LogonTimestamp and Get-OsUpTime; export twenty-two supported commands.
- Preserve local DateTime and default date formatting; add UTC and pipeline conversion.
- Treat zero logon timestamps as no recorded logon; reject invalid FILETIME values.
- Use invariant string formatting and document replicated AD timestamp semantics.
- Preserve uptime days/TimeSpan outputs; support local uptime on Windows, Linux and macOS.
- Replace remote WMI with CIM, use the server clock, support explicit/prompted credentials and clean up sessions.
- Propagate errors without changing caller preferences; document remote Windows requirements.
- Add boundary, culture, local uptime and mocked CIM regression tests.
- Restore Test-IsEmail and Test-IsUrl; export twenty supported commands.
- Preserve email parameter aliases and the HTTP/HTTPS/FTP/FTPS scheme set.
- Define common bare email syntax with IDN-domain support and explicit length limits.
- Replace the URL regex with structured parsing and validation of hosts, ports and escapes.
- Reject malformed input with false; add per-record pipeline support without network calls.
- Document intentional validation-policy changes and reduce staged candidates to seven.
- Add 96 validator cases covering boundaries, Unicode, IPv6 and malformed inputs.
- Treat redaction replacement text literally, preventing regex substitutions from reinserting secrets.
- Serialize buffer snapshot/write/removal; retain entries after failed writes and preserve appended entries.
- Resolve default log paths from the calling script, with current-directory fallback for interactive calls.
- Reject conflicting buffered severity switches while retaining individual compatibility switches.
- Require a non-null stopwatch in every Get-ElapsedTime parameter set.
- Add regression tests and concurrent-process file-write coverage.
- Restore character conversion, string checksums and SHA-256 hashing.
- Preserve the character map while fixing index leakage and default space handling.
- Copy custom maps; normalize text and process Unicode text elements.
- Retain historical MD5 checksum formatting and allow stronger digest selection.
- Default SHA-256 output to hexadecimal; expose LegacyFormat for old comparisons.
- Add behavioral and known-vector tests.
- Restore New-ApiRequest with independent optional-parameter handling.
- Accept header dictionaries; correctly serialize JSON or form authentication fields.
- Default to POST and reject secrets in GET queries or unencrypted requests.
- Disable automatic redirects and expose a connection timeout.
- Propagate request failures; add mocked tests with no network or credentials.
- Restore New-RandomString, New-RandomPassword and New-PhoneticPassword.
- Use secure unbiased integer selection and Fisher-Yates composition shuffling.
- Preserve the phonetic alphabet, labels, counts, aliases and display options.
- Use Set-Clipboard for PowerShell 7; honor WhatIf/Confirm for clipboard writes.
- Validate lengths/counts and remove the old random-password alphabet-length cap.
- Add behavioral tests with mocked console and clipboard operations.
- Restore New-StringEncryption/New-StringDecryption with AES-256-GCM and PBKDF2-HMAC-SHA256.
- Require explicit passphrases, generate random salts/nonces, authenticate ciphertext.
- Add a bounded versioned format and independent interoperability/tampering tests.
- Preserve original legacy decoding code; document intentional ciphertext/API changes.
- Restore filename/path, IP and date validators with documented semantics and tests.
- Correct filename character scanning; add Windows-compatible device-name checks.
- Reject ambiguous IPv4 shorthand; allow explicit date culture and exact format.
- Establish a PowerShell 7.4 Core module foundation with five explicit exports.
- Adopt the tested New-LogEntry implementation and private helpers.
- Add module boundary, timer and inherited logger tests with cross-platform CI.
- Fix the Get-ElapsedTime Seconds parameter type typo.
- Remove SCP/GnuPG functions and bundled WinSCP binaries.
- Retain other candidate utilities in Staging/v3 and historical helpers in Legacy.
- Remove obsolete CLR/.NET Framework constraints and stale FileList entries.
- New cmdlet Get-StringHashCode to calculate hascode for a string
- New cmdlet Get-StringCheckSum to calculate checksum for a string
- Fixed and issue in Get-ReportChain cmdlet causing identity processing to continue despite input data failing validation
- Fixed an issue in Get-ReportChain cmdlet causing the -UserPrincipalName parameter not to correctly retrieve identity from Active Directory
- Updated -UPN parameter renamed to -UserPrincipalName for better discoverability
- New cmdlet Get-ReportChain to get a list of all direct and indirect reports for a specific manager
- New cmdlet Test-IsValidDN to check if a string is a valid AD DistinguishedName
- Updated cmdlet New-LogEntry to use latest function version
- Updated cmdlet New-StringConversion to use latest function version including performance and reliability enhancements
- Updated version of WinSCPnet.dll assembly file
- New cmdlet Convert-LogonTimestamp to allow easy conversion of user LastLoginTimeStamp to human readable format
- New cmdlet New-ExchangeSession to create a remote PowerShell session to an on-premise Exchange server 2
- New cmdlet Close-ExchangeSession to close a remote PowerShell session to an on-premise or online Exchange server
- New cmdlet New-ApiRequest to create OAuth2 API requests
- Fixed comment based help for New-StringEncryption cmdlet
- Fixed comment based help for New-StringDecryption cmdlet
- Fixed wrong return data type for Test-IsEmail cmdlet
- Updated cmdlet Test-IsUrl to implement better checks on empty string
- New created change-log file
- New cmdlet New-Timer to create a new stopwatch object
- New cmdlet Get-TimerStatus to get status of an existing stopwatch object
- New cmdlet Stop-Timer to stop an existing stopwatch object
- New cmdlet Get-ElapsedTime to get statistics from an existing stopwatch object
- Updated module manifest version number to be aligned with public changelog file
- Added bin folder for external dependencies binary files
- Updated cmdlet New-ScpDownload exception handling code
- New cmdlet New-ScpDownload to support download from remote SFTP Servers via WinSCP assembly
- Updated WinSCPnet.dll assembly library
- New cmdlet Test-IsValidUpn to validate string is a valid UPN
- New cmdlet Add-Encryption to PGP encrypt a file (external dependencies required)
- New cmdlet Get-GnuPgPackage to install GnuPg Win package for PGP encryption
- New cmdlet New-ScpUpload to support upload of files to remote SFTP Servers via WinSCP assembly
- New cmdlet New-ScpSession to support sessions to remote SFTP Servers via WinSCP assembly
- Updated module file structure to use Public and Private folders for cmdlets distribution
- Updated cmdlet name from Test-Path to Test-IsValidPath to solve name collision issue with built-in PowerShell cmdlet
- Fixed and issue in New-StringConversion causing incorrect data type to be returned
- Initial module release