-
v1.5 (2021-04-30):
- [enhancement]
\"-escaping is now also the default in Windows PowerShell, as was already the case in PowerShell Core, which notably now makesgitcalls with embedded double quotes work correctly. The edge cases in which Windows PowerShell neglects to provide enclosing double-quoting are now avoided by using--%behind the scenes. - [fix] Compatibility with Windows PowerShell v3 and v4 restored.
- [fix] Workaround for calling batch files whose paths need double-quoting on Windows versions before Windows 10: since double-quoting there breaks the
cmd /c "<batch-file> ... & exit"invocation used behind the scenes, the short (8.3) version of the path is used, which doesn't require double-quoting.
- [enhancement]
-
v1.4.2 (2021-04-29):
- [enhancement] In Windows PowerShell,
\"-escaping is now also used forgit.exe, which only recognizes this form. (In PowerShell Core,\"-escaping is used by default anyway.) Note that while this should work in general, Windows PowerShell's limitations prevent passing an argument such as'"foo bar"properly, because the resulting escaped\"foo bar\"is mistakenly passed as-is rather than as"\"foo bar\"". That is, in Windows PowerShell passing an argument whose embedded"are at the very start and end isn't supported for those executables where\"-escaping must be used, unfortunately. Additionally,pwsh.exenow no longer triggers\"-escaping, because - unlikepowershell.exe- it also recognizes""-escaping.
- [enhancement] In Windows PowerShell,
-
v1.4.1 (2021-04-22):
- [fix] Comment-based help for
ieworks again (a syntax problem in v1.4 broke it).
- [fix] Comment-based help for
-
v1.4 (2021-04-22):
- [enhancement] On Windows,
dbeanow supports a-UseWSHswitch that echoes the arguments via WSH (Windows Script Host); specifically, a temporary VBScript script passed tocscript.exeis used. - [enhancement] When using
ieto invoke a script directly or indirectly via WSH (cscript.exeorwscript.exe),""-escaping of embedded"chars. is now also employed in PowerShell Core. While WSH supports neither""nor\"-escaping,""-escaping at least preserves argument boundaries correctly, while still stripping the embedded", unfortunately. - [fix] Temporary files are now properly cleaned up.
- [enhancement] On Windows,
-
v1.3.3 (2021-04-18):
- [enhancement]
dbea -UseBatchFile's diagnostic output now uses«and»as well, and now also includes the value of%*, i.e. the raw command line (without the batch-file path).
- [enhancement]
-
v1.3.2 (2021-04-16):
- [enhancement]
dbea's diagnostic output now uses«and»to enclose arguments, for improved visualization. - [fix] PowerShell 7.2.0-preview.5 introduced a new experimental feature named
PSNativeCommandArgumentPassing, aimed at solving the problem thatiesolves in PowerShell itself. However, it currently lacks vital accommodations for CLIs on Windows (see GitHub issue #15143). This module now also checks for these accommodations and, if they're found missing, deactivates the feature in the module's scope by setting$PSNativeCommandArgumentPassingto'Legacy', meaning that this module's workarounds are still being applied on top of the old, broken behavior, so as to provide all necessary accommodations. - [fix] Partial double-quoting for
msiexec-style applications for arguments such asFOO="bar none"now works again for batch-file calls (was accidentally broken when exit-code reporting was made reliable).
- [enhancement]
-
v1.3.1 (2021-04-08):
- [enhancement] An
insinvocation that passes separate arguments to the-CommandLineargument string now triggers a warning if these arguments aren't being referenced (such as with$1/%1on Unix / Windows). This alerts the user to accidental invocation of what should beins 'echo foo'asins echo foo.
- [enhancement] An
-
v1.3 (2021-04-06):
- [enhancement] Reliable exit-code reporting for batch-file calls is now built into
ie, viacmd /c "<batch-file> ... & exit", courtesy of this Stack Overflow post.
- [enhancement] Reliable exit-code reporting for batch-file calls is now built into
-
v1.2.2 (2021-04-06):
- [fix] Script block-based PowerShell CLI calls now function properly again.
- [doc] README updated with guidance for reliable batch-file exit-code reporting via
cmd /c call
-
v1.2.1 (2021-03-16):
- [fix]
cmd /c/cmd /know function correctly with the command line passed as multiple arguments.
- [fix]
-
v1.2 (2021-03-15):
- [enhancement] Support for calling
cmd.exedirectly with a command line, via/cor/k- though note that with a single-argument pass-through command lineie/ieearen't strictly needed.
- [enhancement] Support for calling
-
v1.1.1 (2021-03-12):
- [doc] Clarification re passing arguments that start with a spaceless word followed by
=(e.g.a=b) to batch files.
- [doc] Clarification re passing arguments that start with a spaceless word followed by
-
v1.1 (2020-08-29):
- [enhancement]
ienow also accepts and resolves aliases of external executables. - [enhancement]
ienow also callsRscript.exewith the required\"-escaping in Windows PowerShell (in PowerShell Core it always did).
- [enhancement]
-
v1.0.10 (2020-08-21):
- [dev] Improved tests, streamlined implementation.
-
v1.0.9 (2020-08-20):
- [enhancement] For robustness, on PowerShell Core,
""-escaping of embedded"chars. is now only switched to in the presence ofmsiexec-style arguments ifmsiexecandmsdeployare being invoked (cmdkeydoesn't support embedding"at all); on Windows PowerShell,""-escaping remains the default to favor working around legacy bugs over CLIs that don't support""-escaping; see the note about the limitations of escaping of verbatim"chars. in the read-me's Known Limitations section.
- [enhancement] For robustness, on PowerShell Core,
-
v1.0.8 (2020-08-17):
- [enhancement] The executable name given is now only looked for as an external executable (command type
Application), even if other command forms with the same name are present; fixes #3
- [enhancement] The executable name given is now only looked for as an external executable (command type
-
v1.0.7 (2020-08-15):
- [doc] Clarification added that for technical reasons
ins/Invoke-NativeShellcannot be meaningfully combined with the&&and||operators.
- [doc] Clarification added that for technical reasons
-
v1.0.6 (2020-08-15):
- [doc] Clarification added that for technical reasons
iecannot be meaningfully combined with the&&and||operators.
- [doc] Clarification added that for technical reasons
-
v1.0.5 (2020-08-15):
- [enhancement] On Windows,
<word>=<value>,/<word>:<value>/-<word>:<value>now result in""-escaping of embedded"in both editions. If<value>has spaces, the argument is passed with double-quoting of the value only (e.g.,<word>="<value>"), but only in PowerShell versions 5.1 and above (not supported in v3 and v4).
- [enhancement] On Windows,
-
v1.0.4 (2020-08-13):
- [enhancement]
<word>=<value with spaces>arguments are now always passed as<word>="<value with spaces>"on Windows; in Windows PowerShell,""is now used as the default escaping of"to better handle edge cases, with\"only used forruby,perl,powershell, andpwsh, of necessity. In PowerShell Core, there is no problem with\"so it is used as the default there, except with batch files and direct calls tocmd.exe. - [fix] Space-less arguments with embedded
"are now passed correctly to batch files. - [dev] Tests now properly force the module being tested to be the only loaded by that name.
- [doc] Read-me and comment-based help improvements.
- [enhancement]
-
v1.0.3 (2020-08-12):
- [fix] Batch files and therefore the need to escape
"as""are now also correctly detected byiein Windows PowerShell v3 and v4. - [dev] Tests amended so they can run from versioned subfolders too.
- [fix] Batch files and therefore the need to escape
-
v1.0.2 (2020-08-11):
- [fix] Aliases
insanddbeaare now also defined in Windows PowerShell v3 and v4. - [dev] Fixed tests on Windows PowerShell.
- [fix] Aliases
-
v1.0.1 (2020-08-09):
- Improved module description in the
.psd1file.
- Improved module description in the
-
v1.0.0 (2020-08-09):
- Initial release.