Skip to content

v2.2

Choose a tag to compare

@HalRiveria HalRiveria released this 02 Nov 16:54
· 8 commits to main since this release
944597d

ParallelKit 2.2

After updating, start a new PowerShell window, so nothing from the older copy is left in your session.

Changes you might notice

  • The kit now loads as an in-memory module. You still copy one file and dot-source it, and nothing is installed. Get-Module now lists ParallelKit, and internal helpers such as Invoke-PkProcessDispatchCore can no longer be called or show up in tab completion. Only the functions in the README are public. (#27)
  • Preference variables set at script level no longer reach the kit's own code. Your own callbacks still see them. (#27)

Fixed

  • Callbacks no longer collide with the kit's variables. A callback written without .GetNewClosure() could pick up the kit's own $results, $state, $job or $TimeoutSeconds instead of yours and silently give wrong results. A plain { ... } now sees your variables, on the main thread (#27) and inside a worker runspace (#28). You still need a hashtable for state a callback changes.
  • Paths like \tools and C:tools now follow your current location. They used to follow the PowerShell process's drive and folder, so the program failed to start or could run in the wrong place. (#29)
  • A non-terminating error in a worker that finishes while an abort waits for it now prints Runspace error: ..., as it does at any other time, so a partial result doesn't look fine. (#29)
  • -SharedFunctionNames can share a module's private functions when the script that loaded the kit calls into that module. (#27)