diff --git a/CHANGELOG.md b/CHANGELOG.md index 4387ea71..5ac0891e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,10 @@ The latest `## [X.Y.Z]` header must match the `version` field in `punkproject.to Entries are newest-first; one bullet per notable change. See the root `AGENTS.md` "Project Versioning" section for the bump policy. +## [0.18.3] - 2026-07-22 + +- `bin/punk-runtime.cmd` `list -remote` (powershell payload): the local column now uses the shared runtime-candidate filter, so `active.toml`, artifact metadata tomls, stray `.log` files, `.tmp`/build copies and directories no longer appear as local runtimes in the server comparison (bash payload already filtered). + ## [0.18.2] - 2026-07-22 - `bin/punk-runtime.cmd`: new `platforms ?-remote?` action - lists local `bin/runtime/*` platform folders (local platform marked), or the platforms the artifact server serves via the server's new root-level `platforms.txt` discovery manifest (raw-file servers have no directory listing; the manifest is now part of the punkbin layout contract, generated by punkbin's maintenance script, and third-party mirrors using the layout carry the same file). Local presence marked, cached-copy fallback, actionable message for pre-convention servers. diff --git a/bin/punk-runtime.cmd b/bin/punk-runtime.cmd index 72a3cadc..93b076e1 100755 --- a/bin/punk-runtime.cmd +++ b/bin/punk-runtime.cmd @@ -2915,7 +2915,12 @@ function psmain { $localdict = @{} if (test-path -Path $archfolder -Type Container) { - $dircontents = (get-childItem -Path $archfolder -File | Where-object Name -Notlike '*_BUILDCOPY.*' | Where-object {-not ($(".txt",".tm") -contains $_.Extension) }) + #shared candidate filter (bash payload parity - its -remote loop + #already uses list_candidates): excludes directories, build + #copies and .txt/.toml/.tm/.tmp/.log support files, so + #active.toml / metadata tomls / stray logs never show as + #local runtimes in the comparison + $dircontents = Get-PunkRuntimeCandidates $archfolder foreach ($f in $dircontents) { $local_sha1 = Get-FileHash -Path $(${f}.FullName) -Algorithm SHA1 $localdict[$f.Name] = ${local_sha1}.Hash diff --git a/punkproject.toml b/punkproject.toml index d88e31ae..b9f45fdb 100644 --- a/punkproject.toml +++ b/punkproject.toml @@ -1,4 +1,4 @@ [project] name = "punkshell" -version = "0.18.2" +version = "0.18.3" license = "BSD-2-Clause" diff --git a/src/project_layouts/vendor/punk/project-0.1/bin/punk-runtime.cmd b/src/project_layouts/vendor/punk/project-0.1/bin/punk-runtime.cmd index 72a3cadc..93b076e1 100644 --- a/src/project_layouts/vendor/punk/project-0.1/bin/punk-runtime.cmd +++ b/src/project_layouts/vendor/punk/project-0.1/bin/punk-runtime.cmd @@ -2915,7 +2915,12 @@ function psmain { $localdict = @{} if (test-path -Path $archfolder -Type Container) { - $dircontents = (get-childItem -Path $archfolder -File | Where-object Name -Notlike '*_BUILDCOPY.*' | Where-object {-not ($(".txt",".tm") -contains $_.Extension) }) + #shared candidate filter (bash payload parity - its -remote loop + #already uses list_candidates): excludes directories, build + #copies and .txt/.toml/.tm/.tmp/.log support files, so + #active.toml / metadata tomls / stray logs never show as + #local runtimes in the comparison + $dircontents = Get-PunkRuntimeCandidates $archfolder foreach ($f in $dircontents) { $local_sha1 = Get-FileHash -Path $(${f}.FullName) -Algorithm SHA1 $localdict[$f.Name] = ${local_sha1}.Hash diff --git a/src/scriptapps/bin/punk-runtime.ps1 b/src/scriptapps/bin/punk-runtime.ps1 index 552312d5..812f42e0 100644 --- a/src/scriptapps/bin/punk-runtime.ps1 +++ b/src/scriptapps/bin/punk-runtime.ps1 @@ -667,7 +667,12 @@ function psmain { $localdict = @{} if (test-path -Path $archfolder -Type Container) { - $dircontents = (get-childItem -Path $archfolder -File | Where-object Name -Notlike '*_BUILDCOPY.*' | Where-object {-not ($(".txt",".tm") -contains $_.Extension) }) + #shared candidate filter (bash payload parity - its -remote loop + #already uses list_candidates): excludes directories, build + #copies and .txt/.toml/.tm/.tmp/.log support files, so + #active.toml / metadata tomls / stray logs never show as + #local runtimes in the comparison + $dircontents = Get-PunkRuntimeCandidates $archfolder foreach ($f in $dircontents) { $local_sha1 = Get-FileHash -Path $(${f}.FullName) -Algorithm SHA1 $localdict[$f.Name] = ${local_sha1}.Hash