- Fix incorrect handling of
$DotFilesAllowNestedSymlinks
preference
- Add workaround for failure to import
Appx
module under PowerShell 7.1 - Fix potentially incorrect verbose output on nested symlinks state
- Miscellaneous code style changes & development tooling updates
- Add documentation on global variables
- Add support for global ignore paths via
$DotFilesGlobalIgnorePaths
- Switch most arrays to
Collections.Generic.List<T>
types - Performance optimisations around array use
- Populate most
Component
metadata even when not available - Handle failure to set symlink attributes when hidden
- Minor documentation updates & miscellaneous fixes
- Republishing with development files excluded to reduce package size
- Updates to module manifest to indicate platform & PowerShell support
- Handle change of
Target
property type inFileSystemInfo
under PowerShell 7 - Create symlinks natively via
New-Item
when unprivileged and PowerShell is 6.2+ - Correctly quote paths passed to
mklink
& improved associated error handling - Update
FriendlyName
inposh.xml
metadata definition to Windows PowerShell - Use precise Windows build number when testing for unprivileged symlinks support
- Breaking Change: Removed the
UninstallKey
property from theComponent
class - Added support for enumerating app packages (AppX) during automatic component detection
- Treat multiple matches in automatic component detection as a warning (previously was error)
Remove-DotFiles
: Fixed stupid oversight introduced in v0.7 which broke this command
- Added new
<AdditionalPaths>
metadata element for additional target symlinks paths Get-DotFiles
: Ensure an unpackedComponent
array is returned- Miscellaneous refactoring & additional debug output
- Correctly handle the case where
Get-DotFiles
returns an empty collection and warn the user
- Breaking Change: The
<Path>
element under<IgnorePaths>
is now<IgnorePath>
- Added new
<BasePath>
metadata element to specify a component subfolder as source path - Added new
<RenamePaths>
metadata element to rename target symlink path by source file path - Added global setting to disable XML metadata schema validation:
$DotFilesDisableMetadataSchemaChecks
- Add support for toggling nested symlink support via parameter:
-AllowNestedSymlinks
- Add support for handling nested symlinks (i.e. handling of symlinks not related to a component)
- Ensure the parent directory of the target path exists when operating on the top-level directory of a component during an install operation
- Added pipeline support to
Install-DotFiles
&Remove-DotFiles
for handlingComponent
objects - Added support for unprivileged symlink creation under Windows 10 Creators Update Developer Mode
- Added schema definition for metadata XML files & perform validation of each metadata file on load
- Enabled Strict Mode set to version 2.0 (latest at time of writing)
- Major refactoring & clean-up of the codebase to conform to best practices
- Numerous documentation updates & improvements
- Now licensed under The MIT License
- Minor changes to the module manifest
- Minor updates to module documentation
- Add support for new detection method:
PathExists
- Rename the
<FindBinary>
element to<FindInPath>
for consistency - Clean-up comments for the detection methods in the sample XML file
- Remove redundant check for valid known component detection method
- Add support for new detection method:
FindInPath
- Remove the list view definition for the
PSDotFiles.Component
type
- Support the case where
$DotFilesPath
or-Path
is itself a symlink - Add a proper changelog for tracking version changes
- Added check in
Install-DotFiles
for Administrator privileges - Numerous minor documentation improvements
- Initial stable release