Skip to content

Releases: XAOSTECH/dev-control

Release v0.5.6

22 Feb 05:26
v0.5.6
16ce928

Choose a tag to compare

What's Changed

Commits since v0.5.5

  • chore: update CHANGELOG for v0.5.6 (re-release) (16ce928)
  • fix: SVG info transform arithmetic calculation (5d852a9)
  • fix: tree-viz JSON escaping and duplicate echo bugs (19a4b98)
  • fix: tree visualization - CodeQL schedule, SVG rendering, relative paths (4a39c17)
  • feat: add fractal git tree visualization (create-tree.sh) (4131135)
  • feat: add security branch cleanup and --auto-sign flag (b2a96a6)
  • chore: update CHANGELOG for v0.5.6 (re-release) (41403dd)
  • refactor: replace ludeeus/action-shellcheck with native shellcheck (223da66)
  • chore: update CHANGELOG for v0.5.6 (ce6a753)
  • refactor: replace peter-evans/create-pull-request with gh CLI (82693e5)
  • security: fix untrusted-checkout vulnerabilities in automerge workflow (c8470aa)
  • fix: restore correct variables in PR body template (eb4f8e2)
  • fix: remove self-referential env vars and use correct shell syntax (837d676)
  • fix: disable autofix automatic trigger to prevent infinite loop (0a630d1)
  • fix: autofix script should skip env: sections and revert broken changes (687ab3e)
  • Merge pull request #91 from XAOSTECH:security/autofix-1771727196 (2aa1820)
  • security: auto-fix CodeQL alerts (7f1f4ac)
  • fix: break up ${{ in env var echo to prevent parser interpretation (0f4ab1e)
  • fix: prevent parser from interpreting bash array syntax as expression (42df46b)
  • fix: workflow validation errors (e67d419)
  • fix: prevent duplicate env sections and inline security script (38cc5ed)
  • feat: amend security review issues instead of creating duplicates (5b3c9f5)
  • Merge branch 'main' of https://github.com/XAOSTECH/dev-control (ed42e70)
  • fix: prevent duplicate security review issues and fix inverted logic (317ff94)
  • Merge pull request #75 from XAOSTECH:security/autofix-1771725722 (297282e)
  • Merge pull request #77 from XAOSTECH:security/autofix-1771725763 (7ba15e3)
  • security: auto-fix CodeQL alerts (9c9aedd)
  • security: auto-fix CodeQL alerts (9007125)
  • Merge pull request #71 from XAOSTECH:security/autofix-1771725675 (a285150)
  • security: auto-fix CodeQL alerts (4ed930b)
  • Merge branch 'main' of https://github.com/XAOSTECH/dev-control (3ac9cac)
  • security: replace insecure regex with explicit bot allowlist + label requirement (95eed72)
  • feat: add automerge label to security-fix PRs (2287308)
  • Merge pull request #45 from XAOSTECH/security/autofix-1771725086 (56d40f9)
  • security: auto-fix CodeQL alerts (7e35584)
  • fix: trim spaces from expression capture and handle git diff errors (e379ba9)
  • fix: security-autofix script input handling and consistency (725cf89)
  • fix: add env section before run when extracting vulnerable expressions (7dab5c8)
  • chore: make security-autofix script executable (4655db8)
  • refactor: move complex script to external file to avoid expression parsing issues (956083a)
  • fix: remove expression syntax from comment (f83a370)
  • fix: remove ellipsis from JSON comment to avoid expression parser error (8b7c5a2)
  • chore: whitespace - trigger workflow reload (a54ad83)
  • fix: use head/tail instead of awk to avoid GitHub Actions expression parsing (04b1c29)
  • refactor: replace Python with robust shell script for code-injection fixes (e85e41e)
  • refactor: use Python for robust code-injection vulnerability fixing (b57d892)
  • fix: skip PR creation when no files modified (759666f)
  • fix: prevent jq backtick parsing in issue body (12eca20)
  • Merge pull request #37 from XAOSTECH:security/autofix-1771640641 (f66fa45)
  • fix: ensure labels exist before PR creation (b96d279)
  • security: auto-fix CodeQL alerts (96e2dd8)
  • fix: send commit payload via gh api input (f4e8ac2)
  • fix: send git tree payload via gh api input (bd68599)
  • fix: allow workflow_dispatch to bypass workflow_run guard (c057d55)
  • debug: add tree JSON inspection output (81a2623)
  • fix: build tree JSON properly with jq instead of string concat (8369a4f)
  • fix: send parents as JSON array in commit API call (41142d0)
  • sync: update security-autofix template with API approach (c33c2d7)
  • fix: use GitHub API instead of git push for workflow changes (2a518f8)
  • debug: test API write permission (25f2815)
  • fix: use create-github-app-token@v2 with all required permissions (34e46dd)
  • debug: add token permission check (0a0afb7)
  • sync: update security-autofix template with permission grants (64a73b6)
  • fix: add explicit permission grants for GitHub App token (30e3798)
  • fix: remove duplicate env block in bash-lint-advanced.yml (c002d10)
  • fix: remove redundant git config - identity action handles this (1320a58)
  • fix: use relative path for local identity action (d6f3a86)
  • fix: remove invalid expression syntax from comment (6e31c5b)
  • fix: eliminate ALL multiline strings from workflow YAML (1a45db8)
  • fix: remove heredoc syntax from workflows - use temp files (8aa9e5b)
  • fix: use heredoc syntax for multiline strings in workflows (b1b0f77)
  • chore: sync security-autofix template with fixed workflow (5e218cc)
  • fix: remove broken Python code from security-autofix workflow (9e34978)
  • security: fix code injection in central-loader variables (5688f94)
  • security: implement workflow_run pattern for automerge (a8650b2)

Installation

Full Toolkit (tarball)

curl -fsSL https://github.com/XAOSTECH/dev-control/releases/download/v0.5.6/dev-control-0.5.6.tar.gz | tar xz
cd dev-control-0.5.6
./install.sh

Library Only (lightweight)

For projects that only need the TUI/print/colour utilities (~27KB vs ~180KB):

curl -fsSL https://github.com/XAOSTECH/dev-control/releases/download/v0.5.6/dev-control-lib-0.5.6.tar.gz | tar xz

# Then in your scripts:
source "./dev-control-lib-0.5.6/colours.sh"
source "./dev-control-lib-0.5.6/print.sh"
print_header "My Script"

Homebrew (coming soon)

brew tap xaoscience/tap
brew install dev-control

Checksums

File SHA256
dev-control-0.5.6.tar.gz 0163604ad7aba519c994f3f054f7c9c3f67645706484da57efdfc3447e7d8e7f
dev-control-lib-0.5.6.tar.gz e9e7a5a13950be7d2ba1a2d13970c5c2d95c9fc5931a487c3b5a638c2b28b442

Full Changelog: v0.5.5...v0.5.6

Release v0.5.5

21 Feb 00:15
v0.5.5
260f985

Choose a tag to compare

What's Changed

Commits since v0.5.4

  • chore: update CHANGELOG for v0.5.5 (re-release) (260f985)
  • feat: use GitHub-style merge messages in automerge (14ff10d)
  • Merge remote-tracking branch 'refs/remotes/pr/36' (288bedc)
  • chore: convert American spellings to British English (f206108)
  • fix: restore GH_TOKEN to automerge merge step (5bb6009)
  • security: reduce automerge checkout attack surface (a379fe2)
  • chore: update CHANGELOG for v0.5.5 (re-release) (273d282)
  • fix: use xaostech-security[bot] credentials in security-autofix (7e03dce)
  • feat: add automated security fix bot workflow (b189e3a)
  • security: fix YAML syntax error and pin create-pull-request action (ea70839)
  • security: fix code injection in central-loader sed replacements (1b79451)
  • security: fix code injection vulnerabilities in workflows (80fbe1b)
  • Update CodeQL Action to v4 with automatic patch management (e148b60)
  • Simplify CodeQL to focus on repo languages (JavaScript/YAML only) (876f63e)
  • chore: rename codeQL (01efbb6)
  • Add auto-fix PR creation to bash-lint-advanced with xaostech-security[bot] credentials (355edeb)
  • Fix bash-lint-advanced job outputs and create advanced CodeQL security workflow (6053dfe)
  • Fix CodeQL untrusted-checkout alert: fetch PR head from official repo (11784cb)
  • Fix --reauthor to include target commit and detect merge topology (f1cadbf)
  • Add reauthor and force resign options to dc-fix (4628b57)
  • Sign automerge merges with xaos-bot (f94620b)
  • chore: update CHANGELOG for v0.5.5 (re-release) (429ed52)
  • Merge pull request #34 from XAOSTECH/anglicise/20260220-215059 (bb14c48)
  • chore: convert American spellings to British English (15f31b4)
  • Fix anglicise grep quoting and ignore test-repo (b919cd8)
  • chore: update CHANGELOG for v0.5.5 (re-release) (ff85a3c)
  • Add defaults-only mode for template loading (8324153)
  • Add app token secret name templating (be9f6dc)
  • Template workflow secret name placeholders (4a373dc)
  • Add secret name and stability caching to template-loading.sh (4681ca5)
  • chore: update CHANGELOG for v0.5.5 (re-release) (ab1a234)
  • Add bot-email input and template-loading integration for bot values (9f8a876)
  • Replace xaos-bot specific values with placeholders in action template (2a96bad)
  • chore: update CHANGELOG for v0.5.5 (re-release) (7571944)
  • fix: correct shields.io badge parameters and refine anglicise exclusions (ff22c5e)
  • docs(readme): readability (8a57dd0)
  • chore: update CHANGELOG for v0.5.5 (11f4b9f)
  • fix(footer.Dockerfile): pre-create ~/.devcontainer so postCreateCommand marker can be written (012c706)
  • fix(footer.Dockerfile): bust permissions layer cache with BUILD_DATE ARG (2a000fc)
  • fix(containerise): remove --userns=keep-id from runArgs + prune before nest loop (3d861ef)
  • fix(containerise): prune stale vsc-*-uid wrapper images after base build (e7278df)
  • feat(containers): add metadata LABEL to base images + streaming GPU/device passthrough (201e98c)

Installation

Full Toolkit (tarball)

curl -fsSL https://github.com/XAOSTECH/dev-control/releases/download/v0.5.5/dev-control-0.5.5.tar.gz | tar xz
cd dev-control-0.5.5
./install.sh

Library Only (lightweight)

For projects that only need the TUI/print/colour utilities (~27KB vs ~180KB):

curl -fsSL https://github.com/XAOSTECH/dev-control/releases/download/v0.5.5/dev-control-lib-0.5.5.tar.gz | tar xz

# Then in your scripts:
source "./dev-control-lib-0.5.5/colours.sh"
source "./dev-control-lib-0.5.5/print.sh"
print_header "My Script"

Homebrew (coming soon)

brew tap xaoscience/tap
brew install dev-control

Checksums

File SHA256
dev-control-0.5.5.tar.gz 91cb2b87d5206d1d7a3af084640820c502cb7bddc4e35cc5918e765569383713
dev-control-lib-0.5.5.tar.gz 608b9933fe0e67a000782761a9ac847b23508d967e34b6985ae6d496af6e9005

Full Changelog: v0.5.4...v0.5.5

Release v0.5.4

18 Feb 22:21
v0.5.4
f82a21d

Choose a tag to compare

What's Changed

Commits since v0.5.3

  • chore: update CHANGELOG for v0.5.4 (re-release) (f82a21d)
  • docs(readme): update command examples (1c4d5af)
  • chore: update CHANGELOG for v0.5.4 (re-release) (43fdd90)
  • fix(footer.Dockerfile): fix user setup and switch to wget (26b2dae)
  • fix: remove GPG_TTY literal and conflicting socket bind mount (01a74b8)
  • fix(container): pre-create .ssh/.cache/.config in image; restore .gnupg chown in postCreateCommand; add --no-cache to dc-contain --base (8609c92)
  • chore: update CHANGELOG for v0.5.4 (re-release) (974abfe)
  • fix: support v-prefixed version input, strip if present (8cbd262)
  • fix: normalise CHANGELOG blank lines with cat -s after each edit (f9c9d14)
  • chore: update CHANGELOG for v0.5.4 (re-release) (d9f274d)
  • feat: automate re-release and smart CHANGELOG handling (869e4cd)
  • perf: skip build steps on duplicate run via early release check (7ed6442)
  • fix: add per-tag concurrency and idempotent release creation (f9cfcf3)
  • fix: use GITHUB_TOKEN to push tag in dispatch path to prevent re-trigger (599eaaa)
  • chore: update CHANGELOG for v0.5.4 (adf0f50)
  • refactor: deduplicate commit-fetching into shared gather step (6596398)
  • feat: auto-generate CHANGELOG.md in release workflow (4fe7962)
  • docs(readme): update intro + usage (ae65eeb)
  • fix: skip GPG re-registration if key already present (c72dfea)
  • feat: extract bot identity into composite action (a4062d1)
  • fix: prevent set -e crash in GPG registration step (0817b1e)
  • fix: use machine user (xaos-bot) identity for GPG signing and git attribution (758a975)
  • fix: use personal PAT (XB_UT) for GPG key registration, fix check logic (608c720)
  • fix: expose GPG key registration failures and attribute release to bot (ae15fdf)
  • fix: generate app token before checkout so credential helper uses app identity (68e214b)
  • fix: configure app token remote once at workflow start for all pushes (84fcb30)
  • fix: remove invalid workflows permission key from release workflow (aca9217)
  • fix: workflows permission, app token push, and auto-version for release (c7a0691)
  • fix: set git identity in Update latest tag step (8c48681)
  • fix: correct latest tag creation in release workflow (4464dc6)
  • fix: apply bot identity and GPG verification to release workflow (f712da5)
  • fix: correct bot display name and GPG commit verification (6d2bd2d)
  • Merge pull request #33 from XAOSTECH/anglicise/20260218-003720 (e9849e1)
  • fix: correct single-quote escaping in anglicise grep patterns (a0291af)
  • chore: convert American spellings to British English (a86ff82)
  • fix: use perl negative lookahead instead of whole-line filename skip (77ef752)
  • fix: use app display name for git user.name instead of ASCII slug (7807b62)
  • fix: support --auto-resolve=value and AUTO_RESOLVE=THEIRS in fix-history (dfaa60e)
  • fix: register bot GPG key unconditionally on every workflow run (664ff25)
  • Merge pull request #32 from XAOSTECH/anglicise/20260218-001511 (d03652d)
  • feat: attribute bot commits/merges to GitHub App identity (ed98c53)
  • chore: convert American spellings to British English (e1eb36b)
  • Merge pull request #31 from XAOSTECH/replace/20260217-235313 (b63d9cb)
  • refactor: use xxd -p -u for cleaner hex passphrase encoding (4e0c90d)
  • chore: replace text across repository (6ae9fd2)
  • feat: auto-merge any xaos[bot] PRs without requiring automerge label (6e493d9)
  • fix: use gpg-connect-agent PRESET_PASSPHRASE for correct CI/CD signing (f62e697)
  • fix: use absolute PATH and ensure wrapper is accessible in commit step (ceddf85)
  • fix: replace heredoc with printf for YAML compliance (ecfd66f)
  • fix: create GPG wrapper script for pinentry mode (d70e17a)
  • fix: simplify GPG signing and remove .git default from exclude paths (9ebb777)
  • fix: pass GPG environment variables to commit step (eb7bff1)
  • fix: replace heredoc with printf for valid YAML syntax (3800f84)
  • fix: implement proper GPG signing with passphrase caching (4c02f34)
  • fix: add GPG_PINENTRY_MODE=loopback to enable non-interactive signing (4a1da2a)
  • fix: enable GPG signing in CI/CD with loopback pinentry mode (80c4986)
  • chore: update workflows with GitHub App token integration (80db8b2)
  • feat: add text replacement workflow (c0f60e8)
  • chore: change anglicise workflow to run monthly and on-demand only (224b406)
  • docs(security): version (33e28e6)
  • docs(readme): intro (5644168)

Installation

Full Toolkit (tarball)

curl -fsSL https://github.com/XAOSTECH/dev-control/releases/download/v0.5.4/dev-control-0.5.4.tar.gz | tar xz
cd dev-control-0.5.4
./install.sh

Library Only (lightweight)

For projects that only need the TUI/print/colour utilities (~27KB vs ~180KB):

curl -fsSL https://github.com/XAOSTECH/dev-control/releases/download/v0.5.4/dev-control-lib-0.5.4.tar.gz | tar xz

# Then in your scripts:
source "./dev-control-lib-0.5.4/colours.sh"
source "./dev-control-lib-0.5.4/print.sh"
print_header "My Script"

Homebrew (coming soon)

brew tap xaoscience/tap
brew install dev-control

Checksums

File SHA256
dev-control-0.5.4.tar.gz e3d2b42570176e334d5800c29d69512be33a2980e47441f73098b1ed591768f8
dev-control-lib-0.5.4.tar.gz 83a4f2937f98c266b34894e6610df655acff7c7b2e8a976c23d13416d22f0201

Full Changelog: v0.5.3...v0.5.4

Release v0.5.3

14 Feb 03:14
v0.5.3
9fe7add

Choose a tag to compare

What's Changed

Commits since v0.5.2

  • fix(containerise/docker-footer): replace curl retry loop with wget (9fe7add)
  • docs(workflows): add GPG tag signing instructions and fix example URLs (668d71b)
  • fix(module-nesting): unquote find pattern for proper argument expansion (6cbccf9)
  • fix(containerise): exclude .tmp/.bak directories from nest scanning (ef7ba17)
  • fix: correct dev-control GitHub URL and add curl retry for reliability (0169d58)
  • fix: chmod 755 /home/${CATEGORY} to allow postCreateCommand file I/O (0967c91)
  • fix: pre-create .gnupg with 700 permissions to prevent VS Code init failure (1317198)
  • feat: add container deletion to --nest --regen to remove stale containers (281df56)
  • fix(containerise): remove baked runtime commands from Dockerfile, defer to postCreateCommand (90cb6d0)
  • chore(containerise): postStart -> postCreate + deduplicate git config therein (8ed74d9)
  • chore(containerise): remove metadata logic (using README) (7b01fc2)
  • chore: colors.sh -> colours.sh (dbf246b)
  • fix(workflows): use TAG_NAME instead of HEAD in release notes generation (76fc081)

Installation

Full Toolkit (tarball)

curl -fsSL https://github.com/XAOSTECH/dev-control/releases/download/v0.5.3/dev-control-0.5.3.tar.gz | tar xz
cd dev-control-0.5.3
./install.sh

Library Only (lightweight)

For projects that only need the TUI/print/colour utilities (~27KB vs ~180KB):

curl -fsSL https://github.com/XAOSTECH/dev-control/releases/download/v0.5.3/dev-control-lib-0.5.3.tar.gz | tar xz

# Then in your scripts:
source "./dev-control-lib-0.5.3/colours.sh"
source "./dev-control-lib-0.5.3/print.sh"
print_header "My Script"

Homebrew (coming soon)

brew tap xaoscience/tap
brew install dev-control

Checksums

File SHA256
dev-control-0.5.3.tar.gz 17c30570f9bd096b9b126fc3081e0f12f27d568c4847500f70a443d2d41b9b00
dev-control-lib-0.5.3.tar.gz e5dfab19b3a3c63d4d02d09b85b76f6092cfabcc540f06490e4a48ffc2ec565c

Full Changelog: v0.5.2...v0.5.3

Release v0.5.2

11 Feb 23:03
v0.5.2
4116b7e

Choose a tag to compare

What's Changed

Commits since v0.5.1

  • fix(workflows): use TAG_NAME instead of HEAD in release notes generation (4116b7e)
  • chore: update CHANGELOG for v0.5.2 (32567bc)
  • fix(devcontainer): match UID 1000 for --userns=keep-id compatibility (c5315e8)
  • refactor(containerise): remove inline JSON comments - README handles all documentation (8037e6d)
  • fix(docker): enforce .gnupg write permissions before USER switch to survive --userns remapping (56bafd5)
  • fix(docker): perform GPG cleanup as root before USER switch to avoid permission errors (97723cc)
  • fix(docker): recreate .gnupg immediately after cleanup to preserve permissions (12dd28b)
  • chore(workflows): redact GPG key IDs from all workflow logs (3f14aad)
  • chore(workflows): redact GPG key IDs from logs (f4c6087)
  • fix(workflows): handle GPG import gracefully with robust key extraction (a37cb59)
  • fix(dc-fix): improve GPG validation logic and check for 'none' key (2d08291)
  • fix(gpg): remove gpg-connect-agent from postCreate to preserve .gnupg permissions (f4f5f23)
  • refactor(readme): add latest download URL and clarify img/base flow (07b31f2)
  • feat(readme): centralize devcontainer README generation (2e44ce0)
  • Merge pull request #30 from XAOSTECH/anglicise/20260209-203619 (0dfaecc)
  • fix(nest): disable set -e during --regen deletion loop (7b94b87)
  • chore: convert American spellings to British English (f3e911b)
  • fix(nest): rebuild all projects after --regen deletion (8e61ae2)
  • feat(nest): make --regen auto-rebuild without second confirmation (4a74e32)
  • fix(nest): exclude .bak and .tmp from --regen deletion list (b3f8f0f)
  • fix(parse_args): remove duplicate --regen case preventing deletion notification (4464772)
  • fix(nest): use grep/perl regex for robust JSON parsing from nest.json (70962d1)
  • feat(nest): implement proper metadata hierarchy with README generation (d093aca)
  • fix(nest): remove invented logic, keep --delete, use only comment-based category detection (4b30021)
  • feat(nest): fix legacy project detection and add interactive category assignment (17aa203)
  • chore(containerise): add safety filter so --regen skips any .devcontainer under .tmp or .bak. (d035a2f)
  • feat: add --regen flag to nest mode for deleting existing devcontainers (a79d810)
  • Revert "feat: improve category detection with smart fallback chain" and "fix: improve category detection with folder name inference" (0f53401)
  • fix: improve category detection with folder name inference and metadata persistence (9efbaf8)
  • feat: improve category detection with smart fallback chain (9ac4000)
  • fix: correct heredoc syntax for metadata field (353572d)
  • fix: improve category detection with metadata field and fallback chain (7a57db9)
  • fix: restore monolith comment-based category system in devcontainer.json (fb0afd5)
  • fix: resolve modularization issues breaking GPG and postCreateCommand (9ad656f)
  • fix(containerise): remove invalid JSON comments, preserve docs in README (b364c1a)
  • fix(containerise): use UIDs instead of usernames in postCreateCommand (eda9ac9)
  • fix(containerise): resolve gnupg permission denied by clearing corrupted state first (6841b51)
  • Merge pull request #28 from XAOSTECH/anglicise/20260209-151906 (9aaf3ac)
  • fix(automerge): trigger on anglicise runs and scan labeled prs (b38200a)
  • chore: convert American spellings to British English (2ea87e8)
  • fix(workflows): align automerge triggers and anglicise exclusions (93b5b0f)
  • fix(anglicise): ensure automerge label exists before creating pr (13cdb48)
  • feat(cluster): add full-stack cluster setup with selection window (a781765)
  • fix(anglicise/mcp-setup): exclude authorization bearer lines from anglicise checks + americanise auth header + normalise indent (676b09d)
  • fix(mcp-setup): move firecrawl npm cache to /tmp (b7e9ca9)
  • fix(mcp-setup): avoid npm cache permission errors (98c6853)
  • fix(mcp-setup): ensure Firecrawl MCP PATH is resolvable (69a31f0)
  • fix(containerise): restore GPG mount permissions in postCreateCommand (abd2432)
  • fix(containerise): remove ~/.gnupg destruction from containerise postCreateCommand (17ed1be)
  • fix(mcp): use dynamic NVM sourcing for firecrawl instead of hardcoded path (54f4205)
  • fix(containerise): remove duplicate git config from postCreateCommand (47e7fc4)
  • fix(print): use echo -e instead of printf for header middle lines (c867c39)
  • feat(workflows): add GPG signing to all commit-creating workflows (ba52e93)

Installation

Full Toolkit (tarball)

curl -fsSL https://github.com/XAOSTECH/dev-control/releases/download/v0.5.2/dev-control-0.5.2.tar.gz | tar xz
cd dev-control-0.5.2
./install.sh

Library Only (lightweight)

For projects that only need the TUI/print/colour utilities (~27KB vs ~180KB):

curl -fsSL https://github.com/XAOSTECH/dev-control/releases/download/v0.5.2/dev-control-lib-0.5.2.tar.gz | tar xz

# Then in your scripts:
source "./dev-control-lib-0.5.2/colors.sh"
source "./dev-control-lib-0.5.2/print.sh"
print_header "My Script"

Homebrew (coming soon)

brew tap xaoscience/tap
brew install dev-control

Checksums

File SHA256
dev-control-0.5.2.tar.gz 3961fae4c543bc5098af40ece0bfb3ed8a4e165e386a45e1003cb295d98f16c0
dev-control-lib-0.5.2.tar.gz c0d061c3de1f6262c5e0910677efdfecf1be93909ffb902be5e12d7a14edc506

Full Changelog: v0.5.1...v0.5.2

Release v0.5.1

08 Feb 23:46
6f7604d

Choose a tag to compare

What's Changed

Commits since v0.4.0

  • fix(gpg): provide passphrase when exporting private key (6f7604d)
  • debug(gpg): add verbose error output for key export failures (00705b7)
  • chore: change GPG key expiration to 1 day for testing (987b40a)
  • fix(gpg): extract correct key fingerprint from generation output (34de103)
  • fix(gpg): validate private key export before uploading secret (2f19a18)
  • refactor(workflows): replace third-party actions with native implementations (bda3629)
  • fix: correct GPG secret check in release workflow (29aa928)
  • fix: detect container environment and recommend running on host (ecbfa81)
  • fix: improve GPG key generation error handling and diagnostics (9e01bc1)
  • feat: automate GPG bot key generation for GitHub Actions (36eba25)
  • feat: add GPG tag signing support to release workflows (85477c3)
  • fix: skip uncommitted changes check in cleanup-only mode (c64b71c)
  • feat: include anglicise branches in cleanup operations (2340cad)
  • fix: handle no changes gracefully in anglicise workflow (0d7756e)
  • security: require automerge label AND trusted author (e7d1a32)
  • chore(automerge): missing sheep (8bbae3e)
  • Merge pull request #23 from XAOSTECH/anglicise/20260208-211857 (594d353)
  • chore: convert American spellings to British English (e9e0b63)
  • feat(nest): add . flag to include root directory in container scan (4e61ef5)
  • fix(gpg): restore .gnupg pre-creation in base image footer (ead8621)
  • fix(gpg): aggressive .gnupg recreation in postCreateCommand (95373e8)
  • chore(release): angl. + reorder lib copy (5c272cd)
  • docs: release v0.5.0 changelog (fc46587)
  • fix(locale): use full LOCALE in sed pattern, not %.* (91c292e)
  • fix(gpg): ensure .gnupg is writable in postCreateCommand (a8f280c)
  • fix(container): dynamic locale/TZ, GPG socket dir, npx PATH for MCP (1e74c4e)
  • fix(container): escape ampersands in git config sed substitution (e3e2a20)
  • feat(web-dev): install Wrangler globally for Cloudflare Workers development (075e867)
  • feat(containerise): complete modularization of Dockerfile generation (c35b55b)
  • feat(dc-fix): auto-push after signing (atomic commit + push) (b4cdc83)
  • Merge pull request #22 from XAOSTECH/refactor/modularise-containerise (1dbcaee)
  • docs: complete example.container.yaml with missing config fields (ffbc01a)
  • feat: add _example and _minimal config variant generation (de880b3)
  • refactor: rewrite containerise.sh to source extracted modules (edbebb0)
  • feat: add NVM/Node.js to common.Dockerfile for MCP server support (3f13951)
  • refactor: extract reusable container functions to lib/container.sh (7fe9e67)
  • refactor: extract Dockerfile templates to config/containers/ (355666a)
  • refactor: extract category metadata to config/containers/categories.yaml (bb52a82)
  • chore: anglicise colors.sh -> colours.sh (75c12e2)
  • fix(containerise): add streaming GPU support and fix shell syntax errors (57057bb)
  • chore: apply small fixes to README (f910a6e)
  • refactor(containerise): extract git configuration into reusable functions (24369cc)
  • refactor(containerise): move dev-control to system-wide /opt and consolidate setup (541d97c)
  • fix(containerise): refactor conda env setup and improve permissions (ada3e4f)
  • refactor(containerise): replace pip with Miniforge conda for data-science (6dfa6c0)
  • feat(containerise): expand data-science, add category extensions and nest mode (0d555a7)
  • fix(containerise): improve remote user detection and vscode-server permissions (f9a2158)
  • security(workflows): add explicit permissions declarations to all workflows (da8df03)
  • Merge pull request #21 from XAOSTECH/anglicise/20260204-212606 (afd279f)
  • chore: convert American spellings to British English (1aa2c12)

Installation

Full Toolkit (tarball)

curl -fsSL https://github.com/XAOSTECH/dev-control/releases/download/v0.5.1/dev-control-0.5.1.tar.gz | tar xz
cd dev-control-0.5.1
./install.sh

Library Only (lightweight)

For projects that only need the TUI/print/color utilities (~27KB vs ~180KB):

curl -fsSL https://github.com/XAOSTECH/dev-control/releases/download/v0.5.1/dev-control-lib-0.5.1.tar.gz | tar xz

# Then in your scripts:
source "./dev-control-lib-0.5.1/colors.sh"
source "./dev-control-lib-0.5.1/print.sh"
print_header "My Script"

Homebrew (coming soon)

brew tap xaoscience/tap
brew install dev-control

Checksums

File SHA256
dev-control-0.5.1.tar.gz 50614c291bb186804631746fad81d6b03fa929c5ce98b22de46f2edd5f2ed7c4
dev-control-lib-0.5.1.tar.gz fc29c292775994d67df2118cbcbef99a4885d0a1c84506020a7d1768d8d7717e

Full Changelog: v0.4.0...v0.5.1

Release v0.5.0

08 Feb 17:33

Choose a tag to compare

What's Changed

Commits since v0.4.0

  • chore(release): angl. + reorder lib copy (5c272cd)
  • docs: release v0.5.0 changelog (fc46587)
  • fix(locale): use full LOCALE in sed pattern, not %.* (91c292e)
  • fix(gpg): ensure .gnupg is writable in postCreateCommand (a8f280c)
  • fix(container): dynamic locale/TZ, GPG socket dir, npx PATH for MCP (1e74c4e)
  • fix(container): escape ampersands in git config sed substitution (e3e2a20)
  • feat(web-dev): install Wrangler globally for Cloudflare Workers development (075e867)
  • feat(containerise): complete modularization of Dockerfile generation (c35b55b)
  • feat(dc-fix): auto-push after signing (atomic commit + push) (b4cdc83)
  • Merge pull request #22 from XAOSTECH/refactor/modularise-containerise (1dbcaee)
  • docs: complete example.container.yaml with missing config fields (ffbc01a)
  • feat: add _example and _minimal config variant generation (de880b3)
  • refactor: rewrite containerise.sh to source extracted modules (edbebb0)
  • feat: add NVM/Node.js to common.Dockerfile for MCP server support (3f13951)
  • refactor: extract reusable container functions to lib/container.sh (7fe9e67)
  • refactor: extract Dockerfile templates to config/containers/ (355666a)
  • refactor: extract category metadata to config/containers/categories.yaml (bb52a82)
  • chore: anglicise colors.sh -> colours.sh (75c12e2)
  • fix(containerise): add streaming GPU support and fix shell syntax errors (57057bb)
  • chore: apply small fixes to README (f910a6e)
  • refactor(containerise): extract git configuration into reusable functions (24369cc)
  • refactor(containerise): move dev-control to system-wide /opt and consolidate setup (541d97c)
  • fix(containerise): refactor conda env setup and improve permissions (ada3e4f)
  • refactor(containerise): replace pip with Miniforge conda for data-science (6dfa6c0)
  • feat(containerise): expand data-science, add category extensions and nest mode (0d555a7)
  • fix(containerise): improve remote user detection and vscode-server permissions (f9a2158)
  • security(workflows): add explicit permissions declarations to all workflows (da8df03)
  • Merge pull request #21 from XAOSTECH/anglicise/20260204-212606 (afd279f)
  • chore: convert American spellings to British English (1aa2c12)

Installation

Full Toolkit (tarball)

curl -fsSL https://github.com/XAOSTECH/dev-control/releases/download/v0.5.0/dev-control-0.5.0.tar.gz | tar xz
cd dev-control-0.5.0
./install.sh

Library Only (lightweight)

For projects that only need the TUI/print/color utilities (~27KB vs ~180KB):

curl -fsSL https://github.com/XAOSTECH/dev-control/releases/download/v0.5.0/dev-control-lib-0.5.0.tar.gz | tar xz

# Then in your scripts:
source "./dev-control-lib-0.5.0/colors.sh"
source "./dev-control-lib-0.5.0/print.sh"
print_header "My Script"

Homebrew (coming soon)

brew tap xaoscience/tap
brew install dev-control

Checksums

File SHA256
dev-control-0.5.0.tar.gz b66b5d1ac765dbc3a5b9f99abb092fbb769359ca84feab0f9ce80dca9faa0afb
dev-control-lib-0.5.0.tar.gz 59baf82b0f6e60a59e4de512701eff797fdd6a6f9fc3401d114ea2ebabc320d8

Full Changelog: v0.4.0...v0.5.0

Release v0.4.0

04 Feb 21:24
931997c

Choose a tag to compare

[0.4.0] - 2026-02-04

Added

  • Multi-category base image support with specialised development environments
    • Categories: game-dev, art, data-science, streaming, web-dev, dev-tools
    • Feature descriptions and GitHub source references for each category
  • Dual-mode operation:
    • --base --CATEGORY: Build pre-configured category base images
    • --img --CATEGORY: Generate devcontainers from category base images
  • GPU acceleration & streaming features:
    • CUDA Toolkit 13.1 support with NVIDIA hardware integration
    • FFmpeg compilation from source with NVENC/NVDEC hardware encoding
    • NGINX-RTMP streaming server integration with SRT protocol support
    • ONNX Runtime GPU acceleration for ML inference
    • YOLOv8 export and inference capabilities
  • Enhanced configuration:
    • New options: use_base_category, base_category, mount_wrangler
    • Streaming options: install_cuda, install_ffmpeg, install_nginx_rtmp,
      install_streaming_utils, enable_nvidia_devices
    • Configuration via new YAML keys in container configuration files
  • Improved help & documentation:
    • Category descriptions with tools and versions
    • Mode-specific usage examples
    • GitHub source paths for category base images

Changed

  • containerise.sh help text completely restructured for multi-category architecture
  • Configuration loading refactored to support base category selection
  • Command-line parsing enhanced with MODE and CATEGORY_FLAG support
  • File permission: containerise.sh now executable (+x)

Technical Details

  • Code changes: +1026 lines (1080 insertions, 54 deletions)
  • New functions:
    • generate_category_dockerfile(): Build category base images
    • build_base_image(): Execute category base image builds
    • generate_image_devcontainer(): Generate devcontainers from base images
  • New data structures:
    • BASE_IMAGE_CATEGORIES[]: Category-to-image mappings
    • CATEGORY_FEATURES[]: Feature descriptions per category
    • CATEGORY_GITHUB_PATHS[]: Source code references

Backward Compatibility

  • ✓ Legacy interactive mode fully preserved
  • ✓ Existing .devcontainer configurations unaffected
  • --defaults and --config FILE options functional
  • ✓ Non-category configurations work as before

Use Cases Enabled

  • Game Development: Godot 4.x + Vulkan SDK + SDL2 + GLFW 3.4 + CUDA
  • 3D/2D Art: Krita, GIMP, Inkscape, Blender, ImageMagick
  • Data Science: CUDA + FFmpeg + NVIDIA acceleration
  • Live Streaming: FFmpeg (NVENC/NVDEC) + NGINX-RTMP + ONNX Runtime
  • Web Development: Node.js 25 (nvm) + npm + Wrangler
  • General Development: GCC + build-essential + standard compilers

Installation

Full Toolkit (tarball)

curl -fsSL https://github.com/xaoscience/dev-control/releases/download/v0.4.0/dev-control-0.4.0.tar.gz | tar xz
cd dev-control-0.4.0
./install.sh

Library Only (lightweight)

For projects that only need the TUI/print/color utilities (~27KB vs ~180KB):

curl -fsSL https://github.com/xaoscience/dev-control/releases/download/v0.4.0/dev-control-lib-0.4.0.tar.gz | tar xz

# Then in your scripts:
source "./dev-control-lib-0.4.0/colors.sh"
source "./dev-control-lib-0.4.0/print.sh"
print_header "My Script"

Homebrew (coming soon)

brew tap xaoscience/tap
brew install dev-control

Checksums

File SHA256
dev-control-0.4.0.tar.gz 91b649d8b7c4a40a7359d23679cdcbb9c49ff3d9cf78bea5db0acafddc47448b
dev-control-lib-0.4.0.tar.gz 03dbce45d74d57aa80e1437cbbc1dddc8f9ed42bb993a707ec9e314f871ebc4f

Full Changelog: v0.3.0-1-g5416fa7a1c6cebfb3b9403089d6dc45d19b7a9bb...v0.4.0

Full Changelog: v0.3.0...v0.4.0

Release v0.3.0

26 Jan 16:35
bfadb84

Choose a tag to compare

What's Changed

Commits since v0.2.2-3-gd8293e1446fa0059d1376fb1f5ba122d5c9842fc

  • chore: update CHANGELOG for v0.3.0 (bfadb84)

Installation

Full Toolkit (tarball)

curl -fsSL https://github.com/xaoscience/dev-control/releases/download/v0.3.0/dev-control-0.3.0.tar.gz | tar xz
cd dev-control-0.3.0
./install.sh

Library Only (lightweight)

For projects that only need the TUI/print/color utilities (~27KB vs ~180KB):

curl -fsSL https://github.com/xaoscience/dev-control/releases/download/v0.3.0/dev-control-lib-0.3.0.tar.gz | tar xz

# Then in your scripts:
source "./dev-control-lib-0.3.0/colors.sh"
source "./dev-control-lib-0.3.0/print.sh"
print_header "My Script"

Homebrew (coming soon)

brew tap xaoscience/tap
brew install dev-control

Checksums

File SHA256
dev-control-0.3.0.tar.gz be331389a5d1568a4819ddea76df76f2815349f9ce09fb164f397603161feb27
dev-control-lib-0.3.0.tar.gz f23c6988be8daadf37fce1fd642b100cc174e8549c601b1a46a4a6b36906918f

Full Changelog: v0.2.2-3-gd8293e1446fa0059d1376fb1f5ba122d5c9842fc...v0.3.0

Release v0.2.2

24 Jan 22:23
c79e3cb

Choose a tag to compare

What's Changed

Commits since v0.2.1

  • refactor(release): separate template from dev-control-specific workflow (c79e3cb)
  • Merge pull request #20 from xaoscience/anglicise/20260124-212407 (18b3b77)
  • chore: convert American spellings to British English (f2cf574)
  • fix(anglicise): expand exclusions for CLI flags and code patterns (7ffc090)

Installation

Full Toolkit (tarball)

curl -fsSL https://github.com/xaoscience/dev-control/releases/download/v0.2.2/dev-control-0.2.2.tar.gz | tar xz
cd dev-control-0.2.2
./install.sh

Library Only (lightweight)

For projects that only need the TUI/print/color utilities (~27KB vs ~180KB):

curl -fsSL https://github.com/xaoscience/dev-control/releases/download/v0.2.2/dev-control-lib-0.2.2.tar.gz | tar xz

# Then in your scripts:
source "./dev-control-lib-0.2.2/colors.sh"
source "./dev-control-lib-0.2.2/print.sh"
print_header "My Script"

Homebrew (coming soon)

brew tap xaoscience/tap
brew install dev-control

Checksums

File SHA256
dev-control-0.2.2.tar.gz d1418015dfa5d17d61a77c7f123f36900a4a485dbf53329b262e808e4cfb157c
dev-control-lib-0.2.2.tar.gz 8f150a051bff6bd26b9128b7ce84c2f0d6eefec00e2c16acba074b037447f227

Full Changelog: v0.2.1...v0.2.2