Skip to content

Add GUID syntax validation to IT-ToolBox 3.1.0 - #25

Closed
SingularVector wants to merge 1 commit into
masterfrom
feature/guid-validation
Closed

SingularVector wants to merge 1 commit into
masterfrom
feature/guid-validation

Conversation

@SingularVector

@SingularVector SingularVector commented Oct 24, 2026 •

Copy link
Copy Markdown
Owner

Summary

Align the standalone New-LogEntry implementation with the IT-ToolBox 3.0.1 logger fixes, correcting destination validation, macOS case-alias locking and timeout error reporting.

Scope

  • Reject non-filesystem log destinations before file operations.
  • Preserve buffered entries when a flush destination is rejected.
  • Share mutex identities for case-only path aliases on macOS.
  • Correct timeout exception formatting.
  • Add regression tests and document the path and locking boundaries.

The public API remains unchanged. Non-filesystem destinations now raise an error instead of potentially creating an unintended local file.

On case-sensitive macOS volumes, distinct case-only filenames may share a lock. Upgrade concurrent writers together because older versions can generate different lock names.

Validation

  • Pester tests run — 35 passed, 0 failed on macOS
  • Module imports successfully — not applicable; standalone loader tested instead
  • Documentation updated where needed
  • No unrelated files changed

Notes

Regression tests cover cross-process lock contention, provider-path rejection and buffer retention. The changed logger helpers have matching executable code in both repositories.

Windows and Linux validation runs through CI. Locks remain path-based; symlink and hard-link aliases are not resolved to a shared file identity.

@SingularVector
SingularVector deleted the feature/guid-validation branch October 24, 2026 12:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant