Skip to content

Latest commit

 

History

History
574 lines (465 loc) · 21.2 KB

CHANGELOG.md

File metadata and controls

574 lines (465 loc) · 21.2 KB

0.3.3

Fix

  • @playform/build from 0.3.4 to 0.3.5: the Exec helper in 0.3.4 resolved before its child process exited, so the tsc and tsc-alias passes in the build ran concurrently and left a nondeterministic subset of the generated declarations with unrewritten @Class/@Command/@Configuration/ @Function/@Interface/@Type/@Variable aliases.
  • Node.yml: the build matrix runs Node 22, 24 and 26 instead of the end-of-life 18, 19 and 20.
  • package.json: corrected the indentation of the version field.
  • Workflow/NPM.yml: added the missing publish step, so the workflow template matches the live .github/workflows/NPM.yml.

Change

  • Version 0.3.3.

0.3.2

Fix

  • package.json: Run and prepublishOnly now execute the Source/ scripts with bash instead of sh - on GitHub's Ubuntu runners sh is dash, which rejects ${BASH_SOURCE[0]} (Bad substitution) and source (not found), so the CI prepublishOnly died before generating Configuration/ESBuild/*.js (downstream ERR_MODULE_NOT_FOUND). Matches the scripts' #!/usr/bin/env bash.
  • Auto.yml: the Commit job push uses GITHUB_TOKEN again - branch protection was removed fleet-wide, so the per-repo fine-grained PAT (PLAYFORM_AUTO_PAT) approach is retired.
  • Version registry: Cloudflare Wrangler Action pinned to v4.1.3.

0.3.1

Fix

  • Update.sh: added a gh_api_retry helper (3 attempts with 2s/4s/8s exponential backoff) so transient TLS/network failures on the GitHub API no longer abort an action's version pin.
  • Update.sh: restricted the workflow scan to ./Workflow/ and ./.github/workflows/ only - pnpm-lock.yaml (and any other non-workflow YAML) is no longer rewritten via temp-file+mv on every run.
  • Update.sh: the Auto.yml Commit job push now uses the per-repo fine-grained PAT secret PLAYFORM_AUTO_PAT (contents:write, authenticating as the repo admin) instead of GITHUB_TOKEN, which cannot bypass branch protection on Current.

0.3.0

Add

  • Added Maintain Workflow --Review: read-only, repository-agnostic review of the GitHub Actions references in the current repository. Reports every uses: action with its current reference, the latest tag/commit SHA on GitHub (current / stale / floating), and what the canonical Workflow/ templates would apply in absorb phase 2 - writes nothing.
  • Added Maintain Workflow --Absorb: two-phase, versions-only updater for pre-existing repositories. Phase 1 writes a scoped Update.sh into the repository root that pins every uses: reference under .github/ to the latest tag + commit SHA; phase 2 (re-run after executing Update.sh) iterates the canonical Workflow/ templates and applies their pinned versions in place - only the uses: version segment is replaced and never downgraded; everything else is left byte-for-byte intact.

Fix

  • Update.sh: replaced GNU-only \s with POSIX [[:space:]] in the uses: rewrite, which silently never matched under BSD sed (macOS) - version pins were never updated.
  • Update.sh: byte-preserving line handling so a workflow file whose last line lacks a trailing newline is no longer truncated by while read.

0.2.5

Fix

  • Fixed circular dependency in Source/Fetch.sh: ExtractVersion() and ExtractTag() previously grepped both ./Workflow/ and ./.github/workflows/. Because .github/workflows/*.yml are generated by Maintain Workflow, reading them back caused a feedback loop - if the generation env var was undefined, the # undefined got baked into the generated file and then read back as the "source of truth". Now both functions read exclusively from ./Workflow/, which is the actual template source.

0.2.4

Change

  • Updated dependencies:
    • Bump @octokit/core from 7.0.6 to 7.0.8
    • Bump deepmerge-ts from 7.1.5 to 8.0.2
    • Bump zod from 4.4.3 to 4.5.4
    • Bump @octokit/types from 16.0.0 to 18.0.0
    • Bump @playform/build from 0.3.3 to 0.3.4
    • Bump @types/node from 26.1.1 to 26.4.1
    • Bump esbuild from 0.28.1 to 0.28.2
  • Updated GitHub Actions pinned SHAs:
    • github/codeql-action/init from v4.37.3 to v4.37.6 in Workflow/codeql.yml
    • github/codeql-action/analyze from v4.37.3 to v4.37.6 in Workflow/codeql.yml
    • pnpm/action-setup from v6.0.9 to v6.1.0 in Workflow/Node.yml and Workflow/codeql.yml
    • actions-rs/toolchain SHA refreshed in Workflow/Rust.yml
    • actions-rs/cargo SHA refreshed in Workflow/Version.yml
  • Improved Update.sh:
    • Refactored tag fetching to sort all semantic versions and select the newest, rather than relying on API return order
    • Properly dereference annotated tags to their underlying commit SHA (required for uses:)
  • Normalized tsconfig.json path aliases with consistent ./ prefix

0.2.3

Add

  • Added ExtractTag() function to Source/Fetch.sh to extract human-readable version tags from pinned SHA comments
  • Added ESBuild build-time definitions for TAG environment variables:
    • VERSION_CLOUDFLARE_WRANGLER_ACTION_TAG
    • VERSION_ACTIONS_SETUP_NODE_TAG
    • VERSION_ACTIONS_UPLOAD_ARTIFACT_TAG
    • VERSION_ACTIONS_CACHE_TAG
    • VERSION_ACTIONS_RS_CARGO_TAG
  • Added TypeScript declarations for new TAG env vars in Source/Configuration/ESBuild/Maintain.d.ts

Change

  • Updated dependencies:
    • Bump @playform/build from 0.3.2 to 0.3.3
    • Bump @types/node from 25.9.1 to 26.1.1
    • Bump esbuild from 0.28.0 to 0.28.1
  • Major rewrite of Update.sh:
    • Switched from floating tag pinning (@v7.0.1) to immutable commit SHA pinning (@3d3c42e # v7.0.1)
    • Improved regex to strip existing # comment from uses: lines before parsing
    • Handles annotated tags (tag objects) in addition to lightweight tags
    • Appends human-readable tag comment after the SHA for readability
  • Updated workflow templates (Cloudflare.ts, Node.ts, Rust.ts) to append tag comments alongside pinned SHAs
  • Pinned all GitHub Actions across workflow files to commit SHAs:
    • actions/checkout v6.0.2 → 3d3c42e (v7.0.1) in Auto.yml, Cloudflare.yml, codeql.yml, Node.yml, NPM.yml, Rust.yml
    • actions/setup-node v6.4.0 → 8207627 (v7.0.0) in Node.ts, NPM.yml, codeql.yml, Version.yml
    • actions/upload-artifact v6.0.0/v7.0.1 → 043fb46 (v7.0.1) in Node.ts, Version.yml
    • actions/cache v5.0.5 → 55cc834 (v6.1.0) in Rust.ts, Version.yml
    • actions-rs/cargo v1.0.3 → 844f368 (v1.0.3) in Rust.ts, Version.yml
    • pnpm/action-setup v6.0.8 → 0083308 (v6.0.9) in codeql.yml, Node.yml
    • github/codeql-action/init v4.36.0 → c54b30b (v4.37.3) in codeql.yml
    • github/codeql-action/analyze v4.36.0 → c54b30b (v4.37.3) in codeql.yml
    • pozil/auto-assign-issue v3.0.0 → af6beea (v4.0.1) in GitHub.yml
    • dependabot/fetch-metadata v3.1.0 → 25dd0e3 (v3.1.0) in InnerDependabot.yml
    • ad-m/github-push-action v1.3.0 → 881a632 (v1.3.0) in Auto.yml
    • cloudflare/wrangler-action v4.0.0 → ebbaa15 (v4.0.0) in Version.yml

0.2.2

Change

  • Verified all GitHub Actions versions are current via Update.sh - no changes required:
    • actions/checkout@v6.0.2
    • actions/setup-node@v6.4.0
    • actions/upload-artifact@v7.0.1
    • actions/cache@v5.0.5
    • pnpm/action-setup@v6.0.8
    • dependabot/fetch-metadata@v3.1.0
    • ad-m/github-push-action@v1.3.0
    • pozil/auto-assign-issue@v3.0.0
    • cloudflare/wrangler-action@v4.0.0
    • github/codeql-action@v4.36.0
    • actions-rs/cargo@v1.0.3
    • actions-rs/toolchain@v1.0.7

0.2.1

Add

  • Registered Auto.yml in Source/Variable/GitHub.ts so Maintain Workflow now syncs it to all discovered repos

Change

  • Updated dependencies:
    • Bump @types/node from 25.7.0 to 25.9.1
    • Add esbuild 0.28.0 as a dev dependency
  • Updated GitHub Actions versions across workflow files:
    • Bump ad-m/github-push-action from v1.1.0 to v1.3.0 in Auto.yml
    • Bump github/codeql-action/init from v4.35.4 to v4.36.0 in codeql.yml
    • Bump github/codeql-action/analyze from v4.35.4 to v4.36.0 in codeql.yml
    • Bump pnpm/action-setup from v6.0.7 to v6.0.8 in codeql.yml and Node.yml
    • Bump cloudflare/wrangler-action from v3.15.0 to v4.0.0 in Version.yml
  • Fixed Dependabot auto-approve workflow (InnerDependabot.yml) to use secrets.GITHUB_TOKEN instead of secrets.DEPENDABOT_TOKEN, and tightened the job condition to also check github.event.pull_request.user.login
  • Improved Update.sh:
    • Scoped find to skip node_modules, vendor, dist, target, .git, .next, and .venv instead of scanning all files from the project root
    • Prefixed all shell commands with \ to bypass aliases

0.2.0

Change

  • Bumped version from 0.1.9 to 0.2.0 in package.json
  • Updated dependencies:
    • Bump dotenv from 17.4.1 to 17.4.2
    • Bump @types/node from 25.5.2 to 25.6.2
  • Updated GitHub Actions versions across workflow files:
    • Bump cloudflare/wrangler-action from v3.14.1 to v3.15.0 in Version.yml
    • Bump actions/upload-artifact from v7.0.0 to v7.0.1 in Version.yml
    • Bump actions/cache from v5.0.4 to v5.0.5 in Version.yml
    • Bump actions/setup-node from v6.3.0 to v6.4.0 in Version.yml, NPM.yml, codeql.yml, and Node.yml
    • Bump pnpm/action-setup from v5.0.0 to v6.0.7 in Node.yml and codeql.yml
    • Bump github/codeql-action/init from v4.35.1 to v4.35.4 in codeql.yml
    • Bump github/codeql-action/analyze from v4.35.1 to v4.35.4 in codeql.yml
    • Bump ad-m/github-push-action from v1.0.0 to v1.1.0 in Auto.yml
    • Bump pozil/auto-assign-issue from v2.2.0 to v3.0.0 in GitHub.yml
    • Bump dependabot/fetch-metadata from v3.0.0 to v3.1.0 in InnerDependabot.yml

0.1.9

Add

  • Added TypeScript declaration file for ESBuild configuration (Source/Configuration/ESBuild/Maintain.d.ts)
  • Added Workflow/Version.yml as a static version registry for GitHub Actions, read automatically by Source/Fetch.sh

Change

  • Updated homepage URL in package.json from #readme anchor to ?tab=readme-ov-file
  • Updated dependencies:
    • Bump commander from 14.0.2 to 14.0.3
    • Bump dotenv from 17.2.3 to 17.4.1
    • Bump zod from 4.3.5 to 4.3.6
    • Bump @playform/build from 0.2.6 to 0.3.1
    • Bump @types/node from 25.0.3 to 25.5.2
  • Fixed import path in Source/Class/Maintain.ts from path alias @Variable/Command.js to relative ../Variable/Command.js
  • Refactored Source/Fetch.sh to extract action versions from local workflow YAML files via grep/sed instead of fetching from the GitHub API
  • Added rootDir: "./Source" to tsconfig.json
  • Updated GitHub Actions versions:
    • Bump actions/checkout from v6.0.1 to v6.0.2 across all workflow files
    • Bump actions/setup-node from v6.1.0 to v6.3.0 in codeql.yml and NPM.yml
    • Bump github/codeql-action/init from v4.31.9 to v4.35.1 in codeql.yml
    • Bump github/codeql-action/analyze from v4.31.9 to v4.35.1 in codeql.yml
    • Bump pnpm/action-setup from v4.2.0 to v5.0.0 in Node.yml and codeql.yml
    • Bump dependabot/fetch-metadata from v2.5.0 to v3.0.0 in InnerDependabot.yml

0.1.8

Add

  • Added dynamic GitHub Actions version management using environment variables
  • Added ESBuild configuration files (Maintain.js and Maintain.ts) for build process
  • Added shell scripts for fetching latest action versions (Fetch.sh, Run.sh, prepublishOnly.sh)
  • Added Update.sh script for automatically updating GitHub Actions versions in workflow files
  • Added support for dynamically injecting action versions via process.env variables

Remove

  • Removed .gitignore file
  • Removed Action.sh utility script

Change

  • Updated URLs in package.json to use lowercase https:// scheme
  • Updated dependencies:
    • Bump @octokit/core from 6.1.5 to 7.0.6
    • Bump commander from 13.1.0 to 14.0.2
    • Bump dotenv from 16.5.0 to 17.2.3
    • Bump zod from 3.24.4 to 4.3.5
    • Bump @octokit/types from 14.0.0 to 16.0.0
    • Bump @playform/build from 0.2.4 to 0.2.6
    • Bump @types/etag from 1.8.3 to 1.8.4
    • Bump @types/node from 22.15.15 to 25.0.3
  • Updated build scripts in package.json:
    • Changed Run script from Build 'Source/**/*.ts' --Watch to sh Source/Run.sh
    • Changed prepublishOnly script from Build 'Source/**/*.ts' to sh Source/prepublishOnly.sh
  • Updated GitHub Actions versions:
    • Bump actions/checkout from v4.2.2 to v6.0.1 across all workflow files
    • Bump actions/setup-node from v4.4.0 to v6.1.0 in Node.ts, NPM.yml, and codeql.yml
    • Bump actions/upload-artifact from v4.6.2 to v6.0.0 in Node.ts
    • Bump actions/cache from v4.2.3 to dynamic version in Rust.ts
    • Bump actions-rs/cargo from v1.0.3 to dynamic version in Rust.ts
    • Bump cloudflare/wrangler-action from v3.14.1 to dynamic version in Cloudflare.ts
    • Bump github/codeql-action/init from v3.28.17 to v4.31.9 in codeql.yml
    • Bump github/codeql-action/analyze from v3.28.17 to v4.31.9 in codeql.yml
    • Bump pnpm/action-setup from v4.1.0 to v4.2.0 in Node.yml and codeql.yml
    • Bump dependabot/fetch-metadata from v2.3.0 to v2.4.0 in InnerDependabot.yml
    • Bump ad-m/github-push-action from master to v1.0.0 in Auto.yml
  • Replaced hardcoded action versions with dynamic environment variable references in workflow generation
  • Changed variable declarations from let to const in Dispatch.ts for improved immutability
  • Enhanced error handling and validation in version fetching scripts

0.1.7

Change

  • Bumped version from 0.1.6 to 0.1.7 in package.json
  • Updated contact email from Source/Open@PlayForm.LTD to Source/Open@PlayForm.Cloud
  • Updated organization URL from HTTPS://PlayForm.LTD to HTTPS://PlayForm.Cloud
  • Updated dependencies:
    • Bump @octokit/core from 6.1.4 to 6.1.5
    • Bump dotenv from 16.4.7 to 16.5.0
    • Bump zod from 3.24.2 to 3.24.4
    • Bump @octokit/types from 13.10.0 to 14.0.0
    • Bump @playform/build from 0.2.2 to 0.2.4
    • Bump @types/node from 22.14.0 to 22.15.15
  • Updated GitHub Actions:
    • Bump actions/setup-node from v4.3.0 to v4.4.0 in Node.ts, NPM.yml, and codeql.yml
    • Bump github/codeql-action/init from v3.28.13 to v3.28.17 in codeql.yml
    • Bump github/codeql-action/analyze from v3.28.13 to v3.28.17 in codeql.yml
  • Updated git config user email in Auto.yml from auto@playform.cloud to Commit@PlayForm.Cloud

0.1.6

Add

  • Added new Auto workflow for automated scheduled commits
  • Added Dependabot ignore rule for tailwindcss@^4.0.0 in NPM environment

Change

  • Updated dependencies:
    • Bump @octokit/core from 6.1.3 to 6.1.4
    • Bump commander from 13.0.0 to 13.1.0
    • Bump deepmerge-ts from 7.1.3 to 7.1.5
    • Bump zod from 3.24.1 to 3.24.2
    • Bump @octokit/types from 13.6.2 to 13.10.0
    • Bump @playform/build from 0.2.1 to 0.2.2
    • Bump @types/node from 22.10.5 to 22.14.0
  • Updated GitHub Actions:
    • Bump cloudflare/wrangler-action from v3.13.0 to v3.14.1 in Cloudflare.ts
    • Bump actions/setup-node from v4.1.0 to v4.3.0 in Node.ts and NPM.yml
    • Bump actions/upload-artifact from v4.5.0 to v4.6.2 in Node.ts
    • Bump actions/cache from v4.2.0 to v4.2.3 in Rust.ts
    • Bump github/codeql-action from v3.27.6 to v3.28.13 in codeql.yml
    • Bump pozil/auto-assign-issue from v2.0.1 to v2.2.0 in GitHub.yml
    • Bump dependabot/fetch-metadata from v2.2.0 to v2.3.0 in InnerDependabot.yml
    • Bump pnpm/action-setup from v4.0.0 to v4.1.0 in codeql.yml and Node.yml
  • Refactored imports to use Node.js core module protocol (node:path, node:fs/promises)
  • Improved repository pagination handling in Dispatch command
  • Renamed command parameters from [repositories...] to [Repositories...]
  • Changed default branch reference from main to Current in workflow dispatches
  • Updated shebang in Action.sh to use /usr/bin/env bash for better portability

0.1.5

Change

  • Update dependencies:
    • Bump @octokit/core from 6.1.2 to 6.1.3
    • Bump commander from 12.1.0 to 13.0.0
    • Bump zod from 3.23.8 to 3.24.1
    • Bump @playform/build from 0.1.9 to 0.2.0
    • Bump @types/node from 22.10.1 to 22.10.5
  • Update GitHub actions:
    • Bump actions/upload-artifact from v4.4.3 to v4.5.0 in Node.ts
    • Bump actions/cache from v4.1.2 to v4.2.0 in Rust.ts

0.1.4

Change

  • Updated package dependencies:
    • Updated dotenv to version 16.4.7
    • Updated @octokit/types to version 13.6.2
    • Updated @types/node to version 22.10.1
  • Updated GitHub Actions:
    • Updated cloudflare/wrangler-action to v3.13.0 in Cloudflare.ts
    • Updated github/codeql-action to v3.27.6 in codeql.yml
    • Updated pozil/auto-assign-issue to v2.0.1 in GitHub.yml
  • Reordered environment variables in multiple workflow files:
    • Added DO_NOT_TRACK: 1 at the top in Cloudflare.yml, codeql.yml, GitHub.yml, Node.yml, NPM.yml, and Rust.yml

0.1.3

Change

  • Updated cloudflare/wrangler-action to v3.12.1 in Cloudflare.ts.
  • Updated actions/setup-node to v4.1.0 in Node.ts and NPM.yml.
  • Updated actions/cache to v4.1.2 in Rust.ts.
  • Updated actions/checkout to v4.2.2 in multiple workflow files (Cloudflare.yml, codeql.yml, Node.yml, NPM.yml, Rust.yml).
  • Updated github/codeql-action to v3.27.4 in codeql.yml.

0.1.2

Add

  • Added Action.sh script for managing GitHub Actions.
  • Added import statements for Files type in various command files.

Change

  • Updated .npmignore to replace Documentation/ with docs/ and Summary.md with Action.sh.
  • Updated package.json:
    • Bumped version from 0.1.1 to 0.1.2.
    • Updated email to Source/Open@PlayForm.Cloud.
    • Updated URL to https://PlayForm.Cloud.
    • Updated deepmerge-ts to version 7.1.3.
    • Updated @octokit/types to version 13.6.1.
    • Updated @playform/build to version 0.1.8.
    • Updated @types/node to version 22.9.0.
  • Updated various GitHub Actions and workflows:
    • Updated cloudflare/wrangler-action to v3.9.0 in Cloudflare.ts.
    • Updated actions/setup-node to v4.0.4 in Node.ts and NPM.yml.
    • Updated actions/upload-artifact to v4.4.3 in Node.ts.
    • Updated actions/cache to v4.1.1 in Rust.ts.
    • Updated actions/checkout to v4.2.1 in multiple workflow files.
    • Updated github/codeql-action to v3.26.13 in codeql.yml.
  • Improved code formatting and consistency across various TypeScript files.

0.1.1

Change

  • Updated @playform/build to version 0.1.3
  • Updated @types/node to version 22.5.0
  • Updated zod to version 3.23.8
  • Updated actions/upload-artifact to v4.3.6 in Node.ts

0.1.0

Change

  • Updated deepmerge-ts to version 7.1.0
  • Updated @playform/build to version 0.1.2
  • Updated @types/node to version 20.14.12
  • Updated zod to the latest version
  • Updated Run script to use Build 'Source/**/*.ts' --Watch
  • Added provenance: true to package.json

0.0.8

Change

  • Updated version to 0.0.8
  • Updated deepmerge-ts to version 7.0.3
  • Updated @playform/build to version 0.1.0
  • Updated @types/node to version 20.14.10
  • Updated project description to "Maintain 🔧"

Fix

  • Fixed evolving type errors by adding // biome-ignore lint/nursery/noEvolvingTypes: annotations

0.0.7

Change

  • Updated version to 0.0.8
  • Updated deepmerge-ts to version 7.0.3
  • Updated @playform/build to version 0.1.0
  • Updated @types/node to version 20.14.10
  • Updated project description to "Maintain 🔧"

Fix

  • Fixed evolving type errors by adding // biome-ignore lint/nursery/noEvolvingTypes: annotations

0.0.6

Change

  • Updated version to 0.0.6
  • Updated @playform/build to version 0.0.10

0.0.5

Change

  • Updated version to 0.0.5
  • Added @playform/build as a peer dependency
  • Added peerDependenciesMeta to mark @playform/build as optional

0.0.4

Change

  • Updated version to 0.0.4
  • Updated project description to "Maintain 🔧"
  • Updated homepage URL to use HTTPS
  • Updated author information
  • Updated dependencies:
    • @octokit/core to version 6.1.2
    • commander to version 12.1.0
    • deepmerge-ts to version 7.0.1
    • zod to version 3.23.8
    • @octokit/types to version 13.5.0
    • @playform/build to version 0.0.9
    • @playform/document to version 0.0.7
    • @types/node to version 20.12.12
  • Improved code formatting and consistency
  • Updated workflows to use newer versions of actions

Removed

  • Removed .env from .gitignore

0.0.3

Change

  • Updated version to 0.0.3
  • Updated homepage to https://github.com/Playform/Maintain#readme
  • Added Document script

Add

  • Added @playform/document as a dependency

0.0.2

Change

  • Updated version to 0.0.2

0.0.1

Add

  • Initial Release