Skip to content

Releases: pwsh-cs-tools/core

v0.4.0 - Beta

11 Jan 16:04
44653f8
Compare
Choose a tag to compare
v0.4.0 - Beta Pre-release
Pre-release

Release Notes:

Refactors and fixes a lot of bugs with Import-Package

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:

v0.3.3 - Beta

10 Jan 10:03
62718d1
Compare
Choose a tag to compare
v0.3.3 - Beta Pre-release
Pre-release

Release Notes:

Fixes Import-Package dependency group bug and a module manifest bug

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:

v0.3.1 - Beta

02 Nov 05:30
00541e0
Compare
Choose a tag to compare
v0.3.1 - Beta Pre-release
Pre-release

Release Notes:

Fixes exports and module manifest fields

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:

v0.3.0 - Beta

02 Nov 01:16
9b28320
Compare
Choose a tag to compare
v0.3.0 - Beta Pre-release
Pre-release

Release Notes:

Makes both modules significantly more forgiving and easier to use from the end user's perspective.

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:

v0.2.1 - Alpha

29 Oct 14:38
dc6120f
Compare
Choose a tag to compare
v0.2.1 - Alpha Pre-release
Pre-release

Release Notes:

Fixes the issue with Avalonia being dual-threaded on Windows only (all other platforms are still dual threaded)

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

Import-Module Import-Package
Import-Module New-DispatchThread

# --- Avalonia ---

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

# Should dump a warning followed by an error saying we don't support it anymore
Set-DispatcherFactory ([Avalonia.Threading.Dispatcher])

# --- ThreadExtensions ---

Add-Type `
    -TypeDefinition (Get-Content `
        -Path "$PSScriptRoot\New-DispatchThread\ThreadExtensions.cs" `
        -Raw) | Out-Null
Set-DispatcherFactory ([ThreadExtensions.Dispatcher])

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

# --- WPF ---

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

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

Write-Host
Write-Host (Get-Runtime)
Write-Host
Write-Host "Threads:"

$Threads = Get-Threads
$Threads

Links:

v0.2.0 - Alpha

29 Oct 08:43
83225dc
Compare
Choose a tag to compare
v0.2.0 - Alpha Pre-release
Pre-release

Release Notes:

Fixes the issue with Avalonia being dual-threaded on Windows only (all other platforms are still dual threaded)

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

Import-Module Import-Package
Import-Module New-DispatchThread

# --- Avalonia ---

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

# Should dump a warning followed by an error saying we don't support it anymore
Set-DispatcherFactory ([Avalonia.Threading.Dispatcher])

# --- ThreadExtensions ---

Add-Type `
    -TypeDefinition (Get-Content `
        -Path "$PSScriptRoot\New-DispatchThread\ThreadExtensions.cs" `
        -Raw) | Out-Null
Set-DispatcherFactory ([ThreadExtensions.Dispatcher])

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

# --- WPF ---

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

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

Write-Host
Write-Host (Get-Runtime)
Write-Host
Write-Host "Threads:"

$Threads = Get-Threads
$Threads

Links:

v0.1.2 - Alpha

24 Oct 17:10
48e792a
Compare
Choose a tag to compare
v0.1.2 - Alpha Pre-release
Pre-release

Release Notes:

Fixes the issue with Avalonia being dual-threaded on Windows only (all other platforms are still dual threaded)

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

Import-Module "$PSScriptRoot\Import-Package\"

Import-Package Avalonia.Desktop -Offline
# Import-Package Avalonia.Win32 -Offline
Write-Host (Get-Runtime)

Import-Module "$PSScriptRoot\New-DispatchThread\"

Set-DispatcherFactory ([Avalonia.Threading.Dispatcher])

$t = New-DispatchThread
$t.Invoke({ Write-Host "test - Avalonia" })

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

$t = New-DispatchThread
$t.Invoke({ Write-Host "test - WPF" })

$Threads = Get-Threads

Links:

v0.1.1 - Alpha

22 Oct 08:12
37ea195
Compare
Choose a tag to compare
v0.1.1 - Alpha Pre-release
Pre-release

Release Notes:

Fixes the issue with Avalonia being dual-threaded on Windows only (all other platforms are still dual threaded)

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

Import-Module "$PSScriptRoot\Import-Package\"

Import-Package Avalonia.Desktop -Offline
# Import-Package Avalonia.Win32 -Offline
Write-Host (Get-Runtime)

Import-Module "$PSScriptRoot\New-DispatchThread\"

Set-DispatcherFactory ([Avalonia.Threading.Dispatcher])

$t = New-DispatchThread
$t.Invoke({ Write-Host "test - Avalonia" })

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

$t = New-DispatchThread
$t.Invoke({ Write-Host "test - WPF" })

$Threads = Get-Threads

Links:

v0.0.8 - Alpha

11 Oct 10:46
643cca8
Compare
Choose a tag to compare
v0.0.8 - Alpha Pre-release
Pre-release

Release Notes:

This release was a bug fix for faulty platform detection code in Import-Package
It now also includes the newly introduced New-DispatchThread function

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

Install-Module "Import-Package"
Import-Module "Import-Package"

# Import-Package "Avalonia.Desktop" -Verbose
# [Avalonia.Threading.Dispatcher]

Links:

v0.0.6 - Alpha

08 Oct 16:29
14a2f38
Compare
Choose a tag to compare
v0.0.6 - Alpha Pre-release
Pre-release

Release Notes:

This release is a hotfix for broken dependency loading

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

Install-Module "Import-Package"
Import-Module "Import-Package"

# Import-Package "Newtonsoft.Json" -Verbose
# [Newtonsoft.Json.Bson.BsonObjectId]

Links: