You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
release: 0.4.14 — self uninstall + projectScope fall-through fix (#262)
Bumps VERSION 0.4.13 → 0.4.14. Highlights since 0.4.13:
* #259 — `load_project_config_` falls through to XLINGS_PROJECT_DIR
env after a projectScope:false skip. Fixes "no version set for
gcc-specs-config" in installs where the cwd traversal happens to
hit a projectScope:false `.xlings.json` (e.g. xlings's own repo
when E2E tests run from inside `tests/e2e/runtime/...`) before
reaching the real project root. Concrete impact: gcc.lua's
config hook spawning the gcc-specs-config script-type shim now
resolves the project workspace correctly via env fallback.
* #260 — CI bumps XIM_PKGINDEX_REF to xim-pkgindex main HEAD
(19f4383), now including:
- #110 / #111 namespace bare-name deps
- #116 standalone xim:gcc-runtime (~25 MB, vs full xim:gcc ~1.1 GB)
- #117 ninja/node/mdbook switched to xim:gcc-runtime
- #118 gcc-runtime declares correct exports.runtime.libdirs
End-to-end E2E-05 now exercises the full predicate-driven
elfpatch + script-as-runtime-dep flow without sidestep workarounds.
* #261 — `xlings self uninstall` is now a real command.
Previously the dispatcher silently fell through to help and
exited 0, even though user-facing hints (and the
`xlings remove xim:xlings` single-version guard) explicitly
routed users here. Implements:
- `xlings self uninstall` (interactive [y/N])
- `-y` / `--yes` for automation
- `--keep-data` to preserve `data/` for quick reinstall
- `--dry-run` to print plan without changes
Cross-platform self-deletion: Linux/macOS use the kernel's
open-file-vs-dirent decoupling to unlink the running binary;
Windows moves xlings.exe to %TEMP% and schedules delete-on-
reboot for the temp copy (XLINGS_HOME is fully gone immediately).
Safety invariants: refuses XLINGS_HOME=/, =$HOME, common system
paths; refuses if `.lock` present; always prints summary even
with `-y`. Bonus: `xlings self <unknown-action>` now exits 2
instead of silent 0.
Migration: 0.4.13 → 0.4.14 is binary-compatible. self-update via
`xself install` / quick_install handles the upgrade.
Verified locally: 8/8 isolated-XLINGS_HOME tests pass; system
/home/speak/.xlings sha256 + pkg count untouched across runs. CI
three-platform green on PR #261.