Releases: jantari/LSUClient
Releases Β· jantari/LSUClient
Version 1.6.2
Version 1.6.1
Changelog since 1.6.0
- Handle a
Join-Path
error in PowerShell 7 [#96] - Fix an error when running
Get-LSUpdate
on a machine with multiple CPUs [#99] - Print HTTP errors (if any) when no packages could be retrieved from a repository.
This makes it easier to find the cause of theNo packages for computer model 'xxxx' could be retrieved from repository
error in cases where you have connectivity issues.
Version 1.6.0
Changelog since 1.5.5
- Manual override/spoofing of computer info with the new
-MachineCharacteristicsOverride
parameter onGet-LSUpdate
[#92]
This new feature allows you to override data about the computer that LSUClient uses to evaluate packages. For example, you could use it to retrieve the list of updates as if the computer were running Windows 10, even when it is really running Windows 11. Save-LSUpdate
andInstall-LSUpdate
now accept deserialized LenovoPackage objects (exported and imported to/from Clixml) [#78]- Handle download errors inside internal
Save-PackageFile
function to make them respect ErrorAction setting [#90] - Fix an error when a package with RebootType 1 or 4 that isn't a known kind of BIOS update installed successfully [#94]
Version 1.5.5
Changelog since 1.5.4
- Fix
0
being added as a cancel code to packages that don't have any [#87 - bug was introduced in 1.5.4]
Version 1.5.4
Changelog since 1.5.3
- Fix an error if a ThinkPad BIOS update completes without creating a winuptp.log file [#84]
- Return "CANCELLED_BY_USER" as the FailureReason if an installer exits with one of its CancelCodes (as defined in the package XML)
- (with
-Debug
) print the WindowTitle of non-visible windows as well to help troubleshoot processes stuck in session 0.
Many deployment tools, RMMs, etc. will run commands and scripts (including LSUClient and its child-processes) from a service in session 0. If a process opens a graphical window there IsWindowVisible always considers them not visible in my tests, but because they can still block a process it's better to include their info in the debug output. I have updated the docs article on diagnosing hanging processes with additional information about this case.
Version 1.5.3
Changelog since 1.5.2
- Handle duplicate package names in one repository without error [#76]
- Start cmd with a fixed local working directory when getting Windows build [#79]
- Info on long-running processes is now printed regularly and not just once when they've hit their max runtime
- More details about long-running processes are gathered to help diagnose them if they are stuck
Version 1.5.2
Changelog since 1.5.1
Version 1.5.1
Changelog since 1.5.0
- Fix an error during
Get-LSUpdate
search on ThinkPad L450 [#63] - Fix some packages repeatedly being returned even after they are installed [#59]
- Support for _Firmware tests and comparing hexadecimal version numbers [#61, #64]
- Fix a logic flaw in version comparisons that could lead to inaccurate results in rare cases [#67]
- More detailed debug output during
_Driver
tests
Version 1.5.0
Changelog since 1.4.2
- It is now possible to configure maximum runtime limits for external processes, including installers
Some limits are set by default. Read more about this feature and how to use it on the docs site here. - New cmdlets
Get-LSUClientConfiguration
andSet-LSUClientConfiguration
These two cmdlets are used to manage "global" options that may affect multiple LSUClient operations.
For example, instead of passing a-Proxy
to every cmdlet individually, you may runSet-LSUClientConfiguration -Proxy
once and all future invocations ofGet-LSUpdate
,Save-LSUpdate
andInstall-LSUpdate
in the same PowerShell session will default to use that proxy. - Look for executables on system PATH when they can't be found in the packages files [#57]
- Move all P/Invoke code to its own
LSUClient
namespace to reduce chance of name collision with other modules
Version 1.4.2
Changelog since 1.4.1
- Check OS compatibility when getting packages from a Database-XML repository
- Invoke external processes asynchronously and log long-running processes with a warning
I plan on providing some options to identify and deal with indefinitely hanging processes in a future release. - Replace backslashes with forward slashes in the relative part of URL paths
This allows for LSUClient to fetch packages from repositories that are created with Update Retriever and then served via HTTP/S - Fix an inconsistency that caused attended installer routines to run hidden in some circumstances
- Updated help text for many cmdlets