Releases: jantari/LSUClient
Releases Β· jantari/LSUClient
Version 1.2.2
Changelog since 1.2.1
- fix an issue where if an external command ended with a space and then a single-digit number, the number was unintentionally removed, for example
program.exe /mode 8
would have previously been run as justprogram.exe /mode
Version 1.2.1
Changelog since 1.2.0
- Fix external files not being downloaded by
Get-LSUpdate
when just one of the-NoTestApplicable
or-NoTestInstalled
parameters was specified, now external file downloads are only skipped when both-NoTest*
parameters are passed - Fix #27 - sometimes inaccurate detection of needed packages when generic or inbox drivers are used by a device
In my testing this mostly fixes monitor calibration files and some (smart) card reader and webcam drivers that were previously detected as already installed even though they weren't, but it could improve all kinds of packages' detection accuracy - Fix #29 - rare error in
Get-LSUpdate
when a registry key was not found - Make version string parsing more robust by ignoring spaces in versions
- Slight changes and fixes to the progress indicator shown by
Save-LSUpdate
with the-ShowProgress
parameter - Fix typo in
Get-LSUpdate
Version 1.2.0
-DebugLogFile was removed from Get-LSUpdate in this release! |
---|
Changelog since 1.1.3
More accurate detection:
- Support KeyValue when parsing
_RegistryKeyValue
tests - Support FileVersion when parsing
_Driver
tests - Fail all
_Driver
tests against devices that have no driver at all [Fix #24] - In
_FileVersion
tests, try comparing against both the FileVersion and ProductVersion attributes - The
-FailUnsupportedDependencies
parameter now only affect dependency, not install tests [Fix #26] - Fix inaccurate results or potential error when the same device is connected more than once (e.g. two docking stations)
- Results are now more accurate when running
Get-LSUpdate
(again) after installing updates
Previously, to get accurate results, you would have had to remove and import the module or open a new PowerShell session
Parameters:
- Parameters
-NoTestApplicable
and-NoTestInstalled
added toGet-LSUpdate
[Fix #21] - The
IsApplicable
andIsInstalled
properties of the[LenovoPackage]
objectsGet-LSUpdate
returns are nullable now
These properties could previously only ever be$true
or$false
, but if you use one of the new-NoTest*
parameters withGet-LSUpdate
the coresponding properties of the objects returned will now be set to$null
- Parameter
-PassUnsupportedInstallTests
added toGet-LSUpdate
to change the behavior of unsupported tests for DetectInstall [#26] - Parameter
-DebugLogFile
removed fromGet-LSUpdate
This parameter was added in v1.0.1 but not documented because it was mostly meant to make testing and debugging the detection process ofGet-LSUpdate
easier for myself. However, it turns out that having to collate information split betweeen what's printed to the console and a separate log file wasn't ideal. So I removed this parameter and print debug information to the Debug stream PowerShell offers instead. In effect that means this parameter has been replaced by the common parameter-Debug
and with that also went "official" - Make use of
Write-Debug
and the common parameter-Debug
which prints to the console (by default) - More Debug output than before and with more context
Other:
- Update the
Get-Help
parameter help - Verbose output now tells you when it's parsing a packages dependencies and DetectInstall sections
- With -Verbose output on, you will now be warned about suspected generic/inbox drivers, because they can throw off detection tests and sometimes lead to wrong
IsApplicable
orIsInstalled
results. This issue is being tracked in #27
Version 1.1.3
π Anniversary release π
Exactly 1 year ago the first version of LSUClient was released to the PowerShell Gallery. Thank you to everyone for ~36000 downloads and submitting issues, making this a better tool for all!
Changelog since 1.1.2
- Fix #19 - On some models the Intel Graphics driver would fail to install. This issue probably also affected some other packages.
Version 1.1.2
Changelog since 1.1.1
- New EmbeddedController version detection [Fix #14]
- Different feedback for when a package extraction couldn't even start vs when it did run but might have failed
- Better handle an expected executable not being found [Fix #18]
- Actually fix #15 by removing an inadvertently added trailing space from external command arguments
- Handle and warn when the download of an extra file failed instead of terminating entirely
Version 1.1.1
Version 1.1.0
Changelog since 1.0.3
- Added detection of installed packages and the
IsInstalled
property [fix #4] - General reliability improvements when running commands/installing packages
- Added support for
_RegistryKeyValue
and_FileVersion
dependencies - Much more accurate
_Driver
dependency resolution - More accurate
_OS
and_FileExists
dependency resolution - When a package install fails, the stdout (if any) of the installer will be returned now in addition to the exit code
- >90% of cases where Lenovo uses
&
in a command should now be escaped properly [better fix for #2] - Support for installing packages from paths with spaces in them (still not recommended)
- Add linting workflow to the repository to ensure consistent code quality
- Split up >1000 line .psm1 file into many individual files for readability
- Tweaked the default Table and List output views
Version 1.0.3
Changelog since 1.0.2
- Catch individual packages with malformed XML to only warn and skip them instead of erroring out entirely
- Now detects whether ThinkCentre BIOS updates support the
/sccm
argument to prevent an endless hang on older ThinkCentre models [fix #9] - Added experimental PSScriptAnalyzer CI to the repository
- Download package XML-file during dependency resolution (needed by packages like r0qch05w)
- New dependency parser that adds support for
_EmbeddedControllerVersion
,_FileExists
,_RegistryKey
,_OSLang
and_Driver
dependency types. This also lays the groundwork to later detect whether packages are already installed. - Now gives feedback when package extraction may have failed
- Compatibility with PowerShell 7
- Use HardwareID instead of DeviceID for _PnPID detection
- Use ShellExecute API for package installations because Conexant Audio Setup hangs indefinitely when using CreateProcess
- Many smaller changes to verbose or warning outputs, some new output added some made clearer
Version 1.0.2
Changelog since 1.0.1
- No more console windows pop up when getting, extracting or installing updates [fix #5]
- Webproxy parameters now support credentials/authentication
- ThinkCentre BIOS/UEFI updates can now be installed silently (previously only ThinkPad)
- Detect and suspend BitLocker protection of the OS drive prior to BIOS/UEFI updates
- Added
-SaveBIOSUpdateInfoToRegistry
switch toInstall-LSUpdate
- General code rewrite/cleanup of BIOS/UEFI update handling logic
- Packages with RebootType 0 will now be classified as "Unattended" (
$_.Installer.Unattended
will beTrue
) - All module files now encoded in UTF8+BOM
- Clean up files downloaded as part of dependency checks [fix #6]