Releases: 3F/hMSBuild
2.5
🧱 gnt~hMSBuild | gnt*hMSBuild | Self updating: hMSBuild -GetNuTool ~hMSBuild/2.5
📑 What's new in 2.5 ...
-
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=fullhMSBuild -GetNuTool ~hMSBuild /p:use=full- NEW: API. +:eva {in:unevaluated} {out:evaluated} {in:option}
:: evaluate argument
:eva {in:unevaluated} {out:evaluated} {in:option}
:: &(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
:inita {in:vname} {in:arguments} {out:index}
:: (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 ~hMSBuildgnt *hMSBuild/2.5Syntax 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-path2.4.1
2.4
hMSBuild 2.4 - .bat scripts with full Package Manager inside for searching and wrapping MSBuild tools
📑 What's new in 2.4 ...
-
FIXED: -GetNuTool is corrupted.
-
FIXED: Fixed delayed return code as !ERRORLEVEL! when -GetNuTool key.
-
NEW: -no-less-4 key to not include versions less than 4.0 (Windows XP+)
-
NEW: -no-less-15 key to not include versions less than 15.0 (install-API/2017+)
-
NEW: ~c {name} Alias to p:Configuration={name}
-
NEW: ~p {name} Alias to p:Platform={name}
-
NEW: ~x Alias to m:NUMBER_OF_PROCESSORS-1 v:m
-
NEW: -vc key. Adds to -priority VC++ toolset.
-
NEW: -cs key. Adds to -priority C# / VB Roslyn compilers.
-
CHANGED: Redirected warn messages into stderr stream.
-
CHANGED: -vsw-priority renamed as
-priority.
The old key still is available for backward compatibility with 2.x;
But marked as obsolete and not recommended to use anymore. -
CHANGED: -vsw-version renamed as
-vwshere.
The old key still is available for backward compatibility with 2.x;
But marked as obsolete and not recommended to use anymore. -
CHANGED: Updated GetNuTool 1.9 embeddable package manager inside .bat
https://github.com/3F/GetNuTool/releases/tag/1.9 -
NOTE: hMSBuild releases are now accompanied by a .sha1 file in the official distribution;
At the same time, commits from which releases are published are signed with the committer's verified signature (GPG).Make sure you are using official, unmodified, safe versions. https://github.com/3F/hMSBuild/releases/latest
v2.3
Public release of the hMSBuild 2.3
* NEW: Implemented `-vsw-as "args..."`
Reassigns default commands to vswhere if used.
For example:
```
hMSBuild -only-path -vsw-as "-products Microsoft.VisualStudio.Product.BuildTools"
```
Related Issues: #12, #14, #8,
* CHANGED: VS2017+. Using the most modern instance by default.
You can also specify `-vsw-priority` and `-force` keys to use only what is needed.
Related Issues: #14, #8.
* CHANGED: Updated wswhere to 2.8.4 by default.
* CHANGED: Updated GetNuTool 1.8
https://github.com/3F/GetNuTool/releases/tag/1.8
Most important fix for hMSBuild:
"The remote server returned an error: (407) Proxy Authentication Required."
Related issue: https://github.com/3F/DllExport/issues/133
* NOTE: An compiled.full version now will be distributed together with official hMSBuild releases.
https://twitter.com/GitHub3F/status/1218224792970715136
(zip packages) https://github.com/3F/hMSBuild/releases
v2.2
Public release of the hMSBuild 2.2
* FIXED: Fixed searching from MS BuildTools products. Issue #12 (Thanks @odalet).
* CHANGED: [VS2017+] hMSBuild will search now in ANY available products. PR #13 (Thanks @odalet).
* NOTE: In addition to changes above, please use `-vsw-priority` and `-force` keys to use only what is needed.
Issues: #8, #14.
CI-build-41
🎲 Nightly build of c195efd ➾ Worker image: Visual Studio 2015; Console: ci.appveyor.com/.../build-41
❕ Only for tests ❕ 🗨 Commit message:
Merge pull request #13 from odalet/master
Issue #12 / -products *
v2.1
Public release of the hMSBuild 2.1
* NEW: Support for VS2019 msbuild (Thanks @gerhardol)
* CHANGED: Removed possible last extra slash `\` from path, ie. ~ `..\Bin\\MSBuild.exe`
When x32 for searching from Visual Studio with `-notamd64` key.
Part of PR #11
* CHANGED: Default remote vswhere is 2.6.7.
https://github.com/microsoft/vswhere/releases/tag/2.6.7
CI-build-39
🎲 Nightly build of d3c2970 ➾ Worker image: Visual Studio 2015; Console: ci.appveyor.com/.../build-39
❕ Only for tests ❕ 🗨 Commit message:
Merge pull request #11 from gerhardol/bugfix/fix-10-vs2019
Support for VS2019 msbuild (Thanks @gerhardol)
CI-build-38
🎲 Nightly build of c74ff05 ➾ Worker image: Visual Studio 2015; Console: ci.appveyor.com/.../build-38
❕ Only for tests ❕ 🗨 Commit message:
Updated License headers
$(APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED)
v2.0
Public release of the hMSBuild v2.0
* NEW: Full support of the following special characters for MSBuild args. Issue #7.
```
' &!~`@#$^(+)_=%-;
```
Compatible way for both 1.x and 2.0:
https://github.com/3F/hMSBuild/issues/7#issuecomment-447507797
* NEW: Added `-vsw-priority` feature. Issue #8.
```
-vsw-priority {IDs} - Non-strict components preference: C++ etc.
Separated by space: https://aka.ms/vs/workloads
```
* NEW: Added `-stable` key. To ignore possible beta releases in last attempts.
* NEW: Additional `-reset-cache` key. To reset all cached vswhere versions before processing.
* NEW: Optional aggressive behavior for `-vsw-priority`, `-notamd64` through `-force` key.
* FIXED: Fixed receiving of remote vswhere version specified by default (when no `-vswhere-version`).
* FIXED: Fixes usage of changed vswhere version specified via `-vswhere-version` when it was already cached.
* CHANGED: Algorithm of searching:
* Versions:
* VS2017+ ➟ VS2015, VS2013, ... ➟ .netfx
* Architectures (configure via `-notamd64` key):
* x64 ➟ x32
* Priorities (configure via `-vsw-priority` and `-stable` keys).
Specific workload components in more priority than pre-release products. See Issue #8
1. Stable releases with selected workload components (C++ etc) ➟ Same via beta releases if allowed.
2. Stable releases with any available components ➟ Same via beta releases if allowed.
* CHANGED: Updated keys: `-no-vswhere`, `-no-vs`, `-no-netfx`, `-vsw-version`, `-no-cache`.
Old keys still are activated, but it will cause a warnings (stdout).
* CHANGED: Optional `__p_call` flag if you plan to use the call-type to invoke hMSBuild inside your scripts etc.
* CHANGED: Fully updated compression. Now only minified version will be distributed by default.
Also, do not search the light versions: New compiling will not generate this at all.
https://github.com/3F/hMSBuild/issues/7#issuecomment-447505688
* CHANGED: New URL for official latest stable batch-scripts:
https://3F.github.io/hMSBuild/releases/latest/
Other releases: https://github.com/3F/hMSBuild/releases
* CHANGED: Default remote vswhere is 2.5.2.
* CHANGED: Updated GetNuTool v1.7
Release note: https://github.com/3F/GetNuTool/releases/tag/v1.7