You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat!: Release v5.0.0 with clean parameter API and intelligent defaults
BREAKING CHANGES:
- Renamed -Recursive to -DisableRecursion for cleaner API design
- Renamed -EnableTagSorting to -DisableTagSorting for consistent naming
- Recursive mode and tag temporal sorting now enabled by default
API Improvements:
- Clean switch parameter design following PowerShell best practices
- Intuitive defaults requiring zero configuration for optimal behavior
- Consistent naming conventions for all disable flags
- No more confusing switch parameters with $true defaults
User Experience Enhancements:
- Zero configuration: .\LsiGitCheckout.ps1 provides optimal behavior
- Intelligent defaults: recursive processing and tag sorting out-of-the-box
- Better parameter documentation with clear purposes and defaults
- Simplified mental model for new users
Migration Guide:
- OLD: .\LsiGitCheckout.ps1 -Recursive -EnableTagSorting
- NEW: .\LsiGitCheckout.ps1 (default behavior)
- OLD: .\LsiGitCheckout.ps1 -Recursive:$false -EnableTagSorting:$false
- NEW: .\LsiGitCheckout.ps1 -DisableRecursion -DisableTagSorting
Backward Compatibility:
- All JSON configuration files work without modification
- Functionality remains identical with improved parameter usability
- Clear migration path documented in README and changelog
Documentation Updates:
- Updated README.md with new parameter examples and migration guide
- Enhanced changelog with comprehensive v5.0.0 breaking changes documentation
- Updated all code examples to reflect new API design
- Added migration section for v4.x to v5.0 upgrade path
Technical Implementation:
- Converted switch logic to use script-level variables for cleaner code
- Updated all internal references to use new parameter names
- Enhanced logging to reflect default behavior status
- Maintained all existing functionality while improving API design
Benefits:
- Cleaner PowerShell API following established conventions
- Reduced cognitive load for new users (no parameters needed)
- Better alignment with PowerShell community standards
- Improved documentation clarity and examples
Copy file name to clipboardExpand all lines: LsiGitCheckout.ps1
+30-24Lines changed: 30 additions & 24 deletions
Original file line number
Diff line number
Diff line change
@@ -9,10 +9,9 @@
9
9
10
10
SSH credentials are managed through a separate git_credentials.json file.
11
11
12
-
With the -Recursive option, it can discover and process nested dependencies.
12
+
With the -DisableRecursion option, it processes only the main dependency file.
13
13
14
-
With the -EnableTagSorting option, it fetches tag dates from repositories and uses
15
-
them to properly sort API Compatible Tags temporally, removing manual ordering requirements.
14
+
With the -DisableTagSorting option, it requires manual temporal ordering in "API Compatible Tags".
16
15
.PARAMETERInputFile
17
16
Path to the JSON configuration file. Defaults to 'dependencies.json' in the script directory.
18
17
.PARAMETERCredentialsFile
@@ -23,27 +22,33 @@
23
22
Enables debug logging to a timestamped log file.
24
23
.PARAMETERVerbose
25
24
Increases verbosity of output messages.
26
-
.PARAMETERRecursive
27
-
Enables recursive dependency discovery and processing. Enabled by default.
25
+
.PARAMETERDisableRecursion
26
+
Disables recursive dependency discovery and processing. By default, recursive mode is enabled.
28
27
.PARAMETERMaxDepth
29
28
Maximum recursion depth for dependency discovery. Defaults to 5.
30
29
.PARAMETERApiCompatibility
31
30
Default API compatibility mode when not specified in dependencies. Can be 'Strict' or 'Permissive'. Defaults to 'Permissive'.
32
-
.PARAMETEREnableTagSorting
33
-
Enables automatic tag temporal sortingusing git tag dates. This removes the requirement for manual temporal ordering in "API Compatible Tags" and provides intelligent tag selection. Enabled by default.
31
+
.PARAMETERDisableTagSorting
32
+
Disables automatic tag temporal sorting. By default, intelligent tag temporal sorting using git tag dates is enabled, removing the requirement for manual temporal ordering in "API Compatible Tags".
0 commit comments