Skip to content

Commit ae68d39

Browse files
committed
hMSBuild 2.5. Public release
* FIXED: Possible infinite self-call recursion due to built-in GetNuTool 1.9+ and hMSBuild invoking itself. Affected all versions with built-in GetNuTool 1.9 (hMSBuild 2.4 and 2.4.1) * FIXED: Calling built-in GetNuTool using keys with empty "" e.g. proxycfg="" etc. * NEW: Improved security via env protected properties (GetNuTool 1.10+) when using remote vswhere. (without a key -no-vswhere) More about: https://github.com/3F/GetNuTool?tab=readme-ov-file#tmodes-and-commands Or command: hMSBuild -GetNuTool ~/p:use=documentation * NEW: hMSBuild.bat edition now fully supports LF and uses this by default instead of CRLF. LF/CRLF of course affects the checksums, hMSBuild -GetNuTool +hMSBuild/2.5 * LF (actual): hMSBuild.bat.sha1 * CRLF (possible): hMSBuild.bat.crlf.sha1 It means .gitattributes control for CRLF in hMSBuild.bat is not necessary anymore in cases when core.autocrlf=input etc. See related: #2 However, this will not affect users who used the full edition hMSBuild.full.bat (related #11) which is still not protected due to incorrect shiftings in cmd processor when switching to LF. * NEW: Full hMSBuild edition access: ``` gnt ~hMSBuild /p:use=full ``` ``` hMSBuild -GetNuTool ~hMSBuild /p:use=full ``` * NEW: API. +:eva {in:unevaluated} {out:evaluated} {in:option} evaluate argument ``` :: &(1) - Input via a variable. Use ` to apply " quotes inside "..." if [3]==1. :: *&(2) - Evaluated output via a variable. :: [3] - Option to enable support for extra quotes. Values: 1 == ` as " :: !!0 ``` * NEW: API. +:inita {in:vname} {in:arguments} {out:index} initialize arguments ``` :: (1) - Input variable name. :: &(2) - Input arguments via a variable. :: *&(3) - Returns the reached index (maximum) via a variable. :: !!0 ``` * NEW: +.pkg.install.bat v1 support in hMSBuild nuget packages. ``` gnt ~hMSBuild ``` ``` gnt *hMSBuild/2.5 ``` Syntax and relevant documentation: hMSBuild -GetNuTool -help hMSBuild -GetNuTool ~/p:use=documentation Or visit https://github.com/3F/GetNuTool * NEW: Self updating support: hMSBuild -GetNuTool ~hMSBuild/2.5 * NEW: Added validate.hMSBuild.bat helper to validate core itself. * NEW: Added srv.create.bat to prepare local server access. * NEW: Official nuget package, hMSBuild: https://www.nuget.org/packages/hMSBuild/ * CHANGED: Default remote vswhere is 3.1.7 * CHANGED: Updated built-in GetNuTool 1.10. Anniversary (10 years) update GetNuTool 1.10 //github.com/3F adds new modes (install, run, touch, get, grab, pack); custom scripts; improves security; and became even more compact for .bat edition (now 7.87 KB); and ... https://github.com/3F/GetNuTool/releases/tag/1.10 * NOTE: Self validation via command: ``` hMSBuild -GetNuTool ~& svc.gnt -sha1-cmp hMSBuild.bat sha1 -package-as-path ```
1 parent 11cc36d commit ae68d39

File tree

2 files changed

+87
-1
lines changed

2 files changed

+87
-1
lines changed

.version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.4.1
1+
2.5.0

changelog.txt

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,92 @@
22
hMSBuild - https://github.com/3F/hMSBuild
33
- - - - - - - - - - - - - - - - - - - - -
44

5+
[2.5] 2025.09.16
6+
7+
* FIXED: Possible infinite self-call recursion due to built-in GetNuTool 1.9+ and hMSBuild invoking itself.
8+
Affected all versions with built-in GetNuTool 1.9 (hMSBuild 2.4 and 2.4.1)
9+
10+
* FIXED: Calling built-in GetNuTool using keys with empty ""
11+
e.g. proxycfg="" etc.
12+
13+
* NEW: Improved security via env protected properties (GetNuTool 1.10+) when using remote vswhere.
14+
(without a key -no-vswhere)
15+
More about: https://github.com/3F/GetNuTool?tab=readme-ov-file#tmodes-and-commands
16+
Or command: hMSBuild -GetNuTool ~/p:use=documentation
17+
18+
* NEW: hMSBuild.bat edition now fully supports LF and uses this by default instead of CRLF.
19+
LF/CRLF of course affects the checksums, hMSBuild -GetNuTool +hMSBuild/2.5
20+
* LF (actual): hMSBuild.bat.sha1
21+
* CRLF (possible): hMSBuild.bat.crlf.sha1
22+
23+
It means .gitattributes control for CRLF in hMSBuild.bat is not necessary anymore in cases when core.autocrlf=input etc.
24+
See related: https://github.com/3F/hMSBuild/issues/2
25+
26+
However, this will not affect users who used the full edition hMSBuild.full.bat
27+
(related https://github.com/3F/hMSBuild/pull/11)
28+
which is still not protected due to incorrect shiftings in cmd processor when switching to LF.
29+
30+
* NEW: Full hMSBuild edition access:
31+
```
32+
gnt ~hMSBuild /p:use=full
33+
```
34+
```
35+
hMSBuild -GetNuTool ~hMSBuild /p:use=full
36+
```
37+
38+
* NEW: API. +:eva {in:unevaluated} {out:evaluated} {in:option}
39+
evaluate argument
40+
```
41+
:: &(1) - Input via a variable. Use ` to apply " quotes inside "..." if [3]==1.
42+
:: *&(2) - Evaluated output via a variable.
43+
:: [3] - Option to enable support for extra quotes. Values: 1 == ` as "
44+
:: !!0
45+
```
46+
47+
* NEW: API. +:inita {in:vname} {in:arguments} {out:index}
48+
initialize arguments
49+
```
50+
:: (1) - Input variable name.
51+
:: &(2) - Input arguments via a variable.
52+
:: *&(3) - Returns the reached index (maximum) via a variable.
53+
:: !!0
54+
```
55+
56+
* NEW: +.pkg.install.bat v1 support in hMSBuild nuget packages.
57+
```
58+
gnt ~hMSBuild
59+
```
60+
```
61+
gnt *hMSBuild/2.5
62+
```
63+
Syntax and relevant documentation:
64+
hMSBuild -GetNuTool -help
65+
hMSBuild -GetNuTool ~/p:use=documentation
66+
Or visit https://github.com/3F/GetNuTool
67+
68+
* NEW: Self updating support: hMSBuild -GetNuTool ~hMSBuild/2.5
69+
70+
* NEW: Added validate.hMSBuild.bat helper to validate core itself.
71+
72+
* NEW: Added srv.create.bat to prepare local server access.
73+
74+
* NEW: Official nuget package, hMSBuild:
75+
https://www.nuget.org/packages/hMSBuild/
76+
77+
* CHANGED: Default remote vswhere is 3.1.7
78+
79+
* CHANGED: Updated built-in GetNuTool 1.10.
80+
Anniversary (10 years) update GetNuTool 1.10 //github.com/3F
81+
adds new modes (install, run, touch, get, grab, pack); custom scripts;
82+
improves security; and became even more compact for .bat edition (now 7.87 KB); and ...
83+
https://github.com/3F/GetNuTool/releases/tag/1.10
84+
85+
* NOTE: Self validation via command:
86+
```
87+
hMSBuild -GetNuTool ~& svc.gnt -sha1-cmp hMSBuild.bat sha1 -package-as-path
88+
```
89+
90+
591
[2.4.1] 2024.02.12
692

793
* FIXED: Key handling when `=` sign;

0 commit comments

Comments
 (0)