Skip to content

Releases: pwsh-cs-tools/core

v0.6.1 - Beta

19 Jan 08:08
f88fd45
Compare
Choose a tag to compare
v0.6.1 - Beta Pre-release
Pre-release

Release Notes:

Adds the -SkipDependencies switch for easier manual dependency management

See the r/PowerShell series on embedding engines in PowerShell:

To test, install it with PowerShell and PackageManagement (OneGet)

Import-Module Import-Package
# Import-Module New-DispatchThread # - v0.2.1
Import-Module New-ThreadController # - v0.3.0

# --- Avalonia ---

Import-Package Avalonia.Desktop -Offline
# Import-Package Avalonia.Win32 -Offline]

# --- ThreadExtensions ---

Set-DispatcherFactory ([ThreadExtensions.Dispatcher])

$t1 = New-ThreadController
$t1.Invoke({ Write-Host "test - ThreadExtensions" }).
    Invoke({ Write-Host "done - ThreadExtensions" }, $true) | Out-Null

# --- WPF ---

Write-Host
Set-DispatcherFactory ([System.Windows.Threading.Dispatcher])

$t2 = New-ThreadController -Name "Tester"
$t2.Invoke({ Write-Host "test - WPF" }).
    Invoke({ Write-Host "done - WPF" }, $true) | Out-Null

# Now supports Async scriptblocks:

Async { Write-Host "test - async 1" } -Sync # automatically disposed runspace
Async { Write-Host "test - async 2" } -Thread $t1 -Sync # if you don't want to dispose the runspace, you can use an existing one
Async { Write-Host "test - async 3" } -Thread "Tester" # you can also specify the thread by its name
 
Write-Host
Write-Host (Get-Runtime)
Write-Host
Write-Host "Threads:"

$Threads = Get-Threads
$Threads

Links:

v0.6.0 - Beta

19 Jan 05:26
e583f45
Compare
Choose a tag to compare
v0.6.0 - Beta Pre-release
Pre-release

Release Notes:

Deprecates TempPath and replaces it with NativePath which can load native files 5 times faster.

See the r/PowerShell series on embedding engines in PowerShell:

To test, install it with PowerShell and PackageManagement (OneGet)

Import-Module Import-Package
# Import-Module New-DispatchThread # - v0.2.1
Import-Module New-ThreadController # - v0.3.0

# --- Avalonia ---

Import-Package Avalonia.Desktop -Offline
# Import-Package Avalonia.Win32 -Offline]

# --- ThreadExtensions ---

Set-DispatcherFactory ([ThreadExtensions.Dispatcher])

$t1 = New-ThreadController
$t1.Invoke({ Write-Host "test - ThreadExtensions" }).
    Invoke({ Write-Host "done - ThreadExtensions" }, $true) | Out-Null

# --- WPF ---

Write-Host
Set-DispatcherFactory ([System.Windows.Threading.Dispatcher])

$t2 = New-ThreadController -Name "Tester"
$t2.Invoke({ Write-Host "test - WPF" }).
    Invoke({ Write-Host "done - WPF" }, $true) | Out-Null

# Now supports Async scriptblocks:

Async { Write-Host "test - async 1" } -Sync # automatically disposed runspace
Async { Write-Host "test - async 2" } -Thread $t1 -Sync # if you don't want to dispose the runspace, you can use an existing one
Async { Write-Host "test - async 3" } -Thread "Tester" # you can also specify the thread by its name
 
Write-Host
Write-Host (Get-Runtime)
Write-Host
Write-Host "Threads:"

$Threads = Get-Threads
$Threads

Links:

v0.5.4 - Beta

18 Jan 09:36
f613e23
Compare
Choose a tag to compare
v0.5.4 - Beta Pre-release
Pre-release

Release Notes:

Improves TempPath Performance

To test, install it with PowerShell and PackageManagement (OneGet)

Import-Module Import-Package
# Import-Module New-DispatchThread # - v0.2.1
Import-Module New-ThreadController # - v0.3.0

# --- Avalonia ---

Import-Package Avalonia.Desktop -Offline
# Import-Package Avalonia.Win32 -Offline]

# --- ThreadExtensions ---

Set-DispatcherFactory ([ThreadExtensions.Dispatcher])

$t1 = New-ThreadController
$t1.Invoke({ Write-Host "test - ThreadExtensions" }).
    Invoke({ Write-Host "done - ThreadExtensions" }, $true) | Out-Null

# --- WPF ---

Write-Host
Set-DispatcherFactory ([System.Windows.Threading.Dispatcher])

$t2 = New-ThreadController -Name "Tester"
$t2.Invoke({ Write-Host "test - WPF" }).
    Invoke({ Write-Host "done - WPF" }, $true) | Out-Null

# Now supports Async scriptblocks:

Async { Write-Host "test - async 1" } -Sync # automatically disposed runspace
Async { Write-Host "test - async 2" } -Thread $t1 -Sync # if you don't want to dispose the runspace, you can use an existing one
Async { Write-Host "test - async 3" } -Thread "Tester" # you can also specify the thread by its name
 
Write-Host
Write-Host (Get-Runtime)
Write-Host
Write-Host "Threads:"

$Threads = Get-Threads
$Threads

Links:

v0.5.2 - Beta

17 Jan 09:42
df642b4
Compare
Choose a tag to compare
v0.5.2 - Beta Pre-release
Pre-release

Release Notes:

Implement better version control and fix cache bugs

Fix TempPath issues

To test, install it with PowerShell and PackageManagement (OneGet)

Import-Module Import-Package
# Import-Module New-DispatchThread # - v0.2.1
Import-Module New-ThreadController # - v0.3.0

# --- Avalonia ---

Import-Package Avalonia.Desktop -Offline
# Import-Package Avalonia.Win32 -Offline]

# --- ThreadExtensions ---

Set-DispatcherFactory ([ThreadExtensions.Dispatcher])

$t1 = New-ThreadController
$t1.Invoke({ Write-Host "test - ThreadExtensions" }).
    Invoke({ Write-Host "done - ThreadExtensions" }, $true) | Out-Null

# --- WPF ---

Write-Host
Set-DispatcherFactory ([System.Windows.Threading.Dispatcher])

$t2 = New-ThreadController -Name "Tester"
$t2.Invoke({ Write-Host "test - WPF" }).
    Invoke({ Write-Host "done - WPF" }, $true) | Out-Null

# Now supports Async scriptblocks:

Async { Write-Host "test - async 1" } -Sync # automatically disposed runspace
Async { Write-Host "test - async 2" } -Thread $t1 -Sync # if you don't want to dispose the runspace, you can use an existing one
Async { Write-Host "test - async 3" } -Thread "Tester" # you can also specify the thread by its name
 
Write-Host
Write-Host (Get-Runtime)
Write-Host
Write-Host "Threads:"

$Threads = Get-Threads
$Threads

Links:

v0.5.1 - Beta

17 Jan 07:09
Compare
Choose a tag to compare
v0.5.1 - Beta Pre-release
Pre-release

Release Notes:

Hotfix for cached packages

Fix TempPath issues

To test, install it with PowerShell and PackageManagement (OneGet)

Import-Module Import-Package
# Import-Module New-DispatchThread # - v0.2.1
Import-Module New-ThreadController # - v0.3.0

# --- Avalonia ---

Import-Package Avalonia.Desktop -Offline
# Import-Package Avalonia.Win32 -Offline]

# --- ThreadExtensions ---

Set-DispatcherFactory ([ThreadExtensions.Dispatcher])

$t1 = New-ThreadController
$t1.Invoke({ Write-Host "test - ThreadExtensions" }).
    Invoke({ Write-Host "done - ThreadExtensions" }, $true) | Out-Null

# --- WPF ---

Write-Host
Set-DispatcherFactory ([System.Windows.Threading.Dispatcher])

$t2 = New-ThreadController -Name "Tester"
$t2.Invoke({ Write-Host "test - WPF" }).
    Invoke({ Write-Host "done - WPF" }, $true) | Out-Null

# Now supports Async scriptblocks:

Async { Write-Host "test - async 1" } -Sync # automatically disposed runspace
Async { Write-Host "test - async 2" } -Thread $t1 -Sync # if you don't want to dispose the runspace, you can use an existing one
Async { Write-Host "test - async 3" } -Thread "Tester" # you can also specify the thread by its name
 
Write-Host
Write-Host (Get-Runtime)
Write-Host
Write-Host "Threads:"

$Threads = Get-Threads
$Threads

Links:

v0.5.0 - Beta

16 Jan 14:47
32bedf6
Compare
Choose a tag to compare
v0.5.0 - Beta Pre-release
Pre-release

Release Notes:

Add caching of -Path packages and add support for SemVer2 packages

Fix TempPath issues

To test, install it with PowerShell and PackageManagement (OneGet)

Import-Module Import-Package
# Import-Module New-DispatchThread # - v0.2.1
Import-Module New-ThreadController # - v0.3.0

# --- Avalonia ---

Import-Package Avalonia.Desktop -Offline
# Import-Package Avalonia.Win32 -Offline]

# --- ThreadExtensions ---

Set-DispatcherFactory ([ThreadExtensions.Dispatcher])

$t1 = New-ThreadController
$t1.Invoke({ Write-Host "test - ThreadExtensions" }).
    Invoke({ Write-Host "done - ThreadExtensions" }, $true) | Out-Null

# --- WPF ---

Write-Host
Set-DispatcherFactory ([System.Windows.Threading.Dispatcher])

$t2 = New-ThreadController -Name "Tester"
$t2.Invoke({ Write-Host "test - WPF" }).
    Invoke({ Write-Host "done - WPF" }, $true) | Out-Null

# Now supports Async scriptblocks:

Async { Write-Host "test - async 1" } -Sync # automatically disposed runspace
Async { Write-Host "test - async 2" } -Thread $t1 -Sync # if you don't want to dispose the runspace, you can use an existing one
Async { Write-Host "test - async 3" } -Thread "Tester" # you can also specify the thread by its name
 
Write-Host
Write-Host (Get-Runtime)
Write-Host
Write-Host "Threads:"

$Threads = Get-Threads
$Threads

Links:

v0.4.4 - Beta

15 Jan 14:09
733cf47
Compare
Choose a tag to compare
v0.4.4 - Beta Pre-release
Pre-release

Release Notes:

Add and Parallelize Temp File Garbage Collection

To test, install it with PowerShell and PackageManagement (OneGet)

Import-Module Import-Package
# Import-Module New-DispatchThread # - v0.2.1
Import-Module New-ThreadController # - v0.3.0

# --- Avalonia ---

Import-Package Avalonia.Desktop -Offline
# Import-Package Avalonia.Win32 -Offline]

# --- ThreadExtensions ---

Set-DispatcherFactory ([ThreadExtensions.Dispatcher])

$t1 = New-ThreadController
$t1.Invoke({ Write-Host "test - ThreadExtensions" }).
    Invoke({ Write-Host "done - ThreadExtensions" }, $true) | Out-Null

# --- WPF ---

Write-Host
Set-DispatcherFactory ([System.Windows.Threading.Dispatcher])

$t2 = New-ThreadController -Name "Tester"
$t2.Invoke({ Write-Host "test - WPF" }).
    Invoke({ Write-Host "done - WPF" }, $true) | Out-Null

# Now supports Async scriptblocks:

Async { Write-Host "test - async 1" } -Sync # automatically disposed runspace
Async { Write-Host "test - async 2" } -Thread $t1 -Sync # if you don't want to dispose the runspace, you can use an existing one
Async { Write-Host "test - async 3" } -Thread "Tester" # you can also specify the thread by its name
 
Write-Host
Write-Host (Get-Runtime)
Write-Host
Write-Host "Threads:"

$Threads = Get-Threads
$Threads

Links:

v0.4.3 - Beta

15 Jan 14:07
Compare
Choose a tag to compare
v0.4.3 - Beta Pre-release
Pre-release

Release Notes:

Fix unmanaged and offline loading. Also increases NuGet API performance.

To test, install it with PowerShell and PackageManagement (OneGet)

Import-Module Import-Package
# Import-Module New-DispatchThread # - v0.2.1
Import-Module New-ThreadController # - v0.3.0

# --- Avalonia ---

Import-Package Avalonia.Desktop -Offline
# Import-Package Avalonia.Win32 -Offline]

# --- ThreadExtensions ---

Set-DispatcherFactory ([ThreadExtensions.Dispatcher])

$t1 = New-ThreadController
$t1.Invoke({ Write-Host "test - ThreadExtensions" }).
    Invoke({ Write-Host "done - ThreadExtensions" }, $true) | Out-Null

# --- WPF ---

Write-Host
Set-DispatcherFactory ([System.Windows.Threading.Dispatcher])

$t2 = New-ThreadController -Name "Tester"
$t2.Invoke({ Write-Host "test - WPF" }).
    Invoke({ Write-Host "done - WPF" }, $true) | Out-Null

# Now supports Async scriptblocks:

Async { Write-Host "test - async 1" } -Sync # automatically disposed runspace
Async { Write-Host "test - async 2" } -Thread $t1 -Sync # if you don't want to dispose the runspace, you can use an existing one
Async { Write-Host "test - async 3" } -Thread "Tester" # you can also specify the thread by its name
 
Write-Host
Write-Host (Get-Runtime)
Write-Host
Write-Host "Threads:"

$Threads = Get-Threads
$Threads

Links:

v0.4.2 - Beta

13 Jan 10:21
Compare
Choose a tag to compare
v0.4.2 - Beta Pre-release
Pre-release

Release Notes:

Disables dependency loading when Offline flag is specified. Thank you @pl4nty!

To test, install it with PowerShell and PackageManagement (OneGet)

Import-Module Import-Package
# Import-Module New-DispatchThread # - v0.2.1
Import-Module New-ThreadController # - v0.3.0

# --- Avalonia ---

Import-Package Avalonia.Desktop -Offline
# Import-Package Avalonia.Win32 -Offline]

# --- ThreadExtensions ---

Set-DispatcherFactory ([ThreadExtensions.Dispatcher])

$t1 = New-ThreadController
$t1.Invoke({ Write-Host "test - ThreadExtensions" }).
    Invoke({ Write-Host "done - ThreadExtensions" }, $true) | Out-Null

# --- WPF ---

Write-Host
Set-DispatcherFactory ([System.Windows.Threading.Dispatcher])

$t2 = New-ThreadController -Name "Tester"
$t2.Invoke({ Write-Host "test - WPF" }).
    Invoke({ Write-Host "done - WPF" }, $true) | Out-Null

# Now supports Async scriptblocks:

Async { Write-Host "test - async 1" } -Sync # automatically disposed runspace
Async { Write-Host "test - async 2" } -Thread $t1 -Sync # if you don't want to dispose the runspace, you can use an existing one
Async { Write-Host "test - async 3" } -Thread "Tester" # you can also specify the thread by its name
 
Write-Host
Write-Host (Get-Runtime)
Write-Host
Write-Host "Threads:"

$Threads = Get-Threads
$Threads

Links:

v0.4.1 - Beta

12 Jan 16:07
b286848
Compare
Choose a tag to compare
v0.4.1 - Beta Pre-release
Pre-release

Release Notes:

Adds support for framework-agnostic os-agnostic files. Does not add support for framework-agnostic os-specific files (this may or may not be added at a later date).

To test, install it with PowerShell and PackageManagement (OneGet)

Import-Module Import-Package
# Import-Module New-DispatchThread # - v0.2.1
Import-Module New-ThreadController # - v0.3.0

# --- Avalonia ---

Import-Package Avalonia.Desktop -Offline
# Import-Package Avalonia.Win32 -Offline]

# --- ThreadExtensions ---

Set-DispatcherFactory ([ThreadExtensions.Dispatcher])

$t1 = New-DispatchThread
$t1.Invoke({ Write-Host "test - ThreadExtensions" }).
    Invoke({ Write-Host "done - ThreadExtensions" }, $true) | Out-Null

# --- WPF ---

Write-Host
Set-DispatcherFactory ([System.Windows.Threading.Dispatcher])

$t2 = New-DispatchThread -Name "Tester"
$t2.Invoke({ Write-Host "test - WPF" }).
    Invoke({ Write-Host "done - WPF" }, $true) | Out-Null

# Now supports Async scriptblocks:

Async { Write-Host "test - async 1" } -Sync # automatically disposed runspace
Async { Write-Host "test - async 2" } -Thread $t1 -Sync # if you don't want to dispose the runspace, you can use an existing one
Async { Write-Host "test - async 3" } -Thread "Tester" # you can also specify the thread by its name
 
Write-Host
Write-Host (Get-Runtime)
Write-Host
Write-Host "Threads:"

$Threads = Get-Threads
$Threads

Links: