Skip to content

Releases: jantari/LSUClient

Version 1.6.2

23 Jan 18:25
Compare
Choose a tag to compare

Changelog since 1.6.1

  • Fix MCUFWRevCheck.exe and possibly other commands hanging [#103]
  • Really fix #99 (error on multi-socket systems) this time
  • Speed up package dependency (IsApplicable and IsInstalled) tests in some cases

Version 1.6.1

04 Dec 18:49
Compare
Choose a tag to compare

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 the No packages for computer model 'xxxx' could be retrieved from repository error in cases where you have connectivity issues.

Version 1.6.0

31 Jul 17:15
Compare
Choose a tag to compare

Changelog since 1.5.5

  • Manual override/spoofing of computer info with the new -MachineCharacteristicsOverride parameter on Get-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 and Install-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

25 Apr 16:00
Compare
Choose a tag to compare

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

23 Apr 19:40
Compare
Choose a tag to compare

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

18 Mar 14:10
Compare
Choose a tag to compare

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

10 Mar 21:02
Compare
Choose a tag to compare

Changelog since 1.5.1

  • Print warnings for long-running downloads in Save-LSUpdate
  • Add support for _Coreq (package inter-dependency) tests [fixes #58]
  • Fix -ProxyUseDefaultCredentials parameter not being passed correctly [#70]
  • Fix W10 AMD Chipset Driver not being able to install on ThinkStation P620 [#57]

Version 1.5.1

21 Dec 17:33
Compare
Choose a tag to compare

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

31 Oct 22:29
Compare
Choose a tag to compare

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 and Set-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 run Set-LSUClientConfiguration -Proxy once and all future invocations of Get-LSUpdate, Save-LSUpdate and Install-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

30 Jul 18:47
Compare
Choose a tag to compare

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