Releases: evlist/codespaces-grafting
Releases Β· evlist/codespaces-grafting
Nightly Build (main)
Automated nightly pre-release for main.
- Commit:
dd8b0934a7016a92952ccddf0caf83890cfd4974 - Generated by:
Build Plugin ZIP
Release 1.2.1
Changes since v1.2.0
Bug Fixes
- fix(xdebug): Resolve duplicate Xdebug loading in Apache (#10)
- The php-xdebug package creates a default 20-xdebug.ini with minimal configuration
- We now override this with our complete configuration instead of creating a second file
- Eliminates 'Cannot load Xdebug - it was already loaded' warnings in Apache logs
Improvements
- Fix .devcontainer/sbin/start.sh executable permissions
- Split bootstrap lifecycle into one-time init and recurring startup
v1.2.0 - Unified Scion Format & Bootstrap Modularization
Release v1.2.0
π― Major Features
Unified Scion Specification Format
- Breaking Change: Simplified scion configuration from
SCION_ID/SCION_REFto singleSCIONvariable- Old format:
SCION_ID=owner/repo+SCION_REF=branch - New format:
SCION=owner/repo@ref - Consistent with
--scioncommand-line syntax - Supports full URLs:
https://github.com/owner/repo/tree/branch
- Old format:
@ref Shortcut Syntax
- New convenient shortcut for changing scion branch/tag:
# Instead of typing the full repo path: graft export --stock your-repo --scion evlist/codespaces-grafting@main # Use the shortcut: graft export --stock your-repo --scion @main
- Automatically resolves base repository from
.devcontainer/.cs_env.d/graft.local.env - Perfect for testing different branches/tags without repetition
Bootstrap Modularization
- Extracted plugin installation from monolithic
bootstrap.shinto20-plugins.sh - Clear separation of concerns and extensibility example
- Renamed
50.localβ50-plugins.localfor consistency
π Documentation Improvements
Enhanced FAQ (85+ new lines)
- Design Philosophy section addressing common concerns:
- Why file copying is appropriate for devcontainer infrastructure
- Comparison with git subtree/submodules (with invitation to contribute alternatives)
- Scope clarification (WordPress β any stack, single container rationale)
- Customization section with practical examples:
- How to customize bootstrap process
- Theme development hook example (
25-themes.local.sh) - Disabling plugin installation without modifying scion files
- Custom WP-CLI commands hooks
- @ref syntax explanation with examples
Bootstrap Customization Guide (MAINTAINER.md)
- Complete guide for creating custom bootstrap hooks
- Theme development example with
.local.shsuffix - Clear distinction between scion-managed and custom hooks
- Proper disabling techniques without modifying scion files
Updated README
- Debian-style
.ddirectories explanation .local.shpattern for upgrade-safe customizations- Dual license badges (GPL-3.0-or-later + MIT)
π Bug Fixes & Improvements
- Fixed
exportverb to respect--scionflag (was always using PWD) - Corrected documentation inconsistencies:
- Flag names in MAINTAINER.md
- Alias names (
graft,upgrade-scion,export-scion) - File paths and function names
- Fixed
localkeyword usage outside function scope in graft.sh - Fixed
resolve_to_canonical_id()to returnowner/repoformat
π§ Technical Details
Migration Guide
If you have an existing stock repository with the old graft.local.env format:
Before (v1.1.0):
SCION_ID=evlist/codespaces-grafting
SCION_REF=stableAfter (v1.2.0):
SCION=evlist/codespaces-grafting@stableThe script will continue to work, but regenerated provenance files will use the new format.
Files Changed
.devcontainer/.cs_env.d/graft.local.env- Unified format with examples.devcontainer/bin/graft.sh- @ref shortcut support, export verb fix.devcontainer/sbin/bootstrap.sh- Plugin code extracted.devcontainer/sbin/bootstrap.sh.d/20-plugins.sh- New modular plugin hook- Documentation files (FAQ.md, MAINTAINER.md, README.md) - Comprehensive updates
π¦ What's Included
All changes from commits since v1.1.0:
- docs: modularize bootstrap and clarify .local customization pattern
- docs(faq): add design philosophy and scope clarification
- docs: split dual-license badge into separate GPL and MIT badges
- feat: unify scion specification format and add @ref shortcut
π Contributors
Thanks to all who contributed ideas and feedback during this development cycle!
Full Changelog: v1.1.0...v1.2.0
v1.1.0 - Debian-style Configuration Management
Major Changes
Configuration Management
- Debian .d convention:
.cs_env.d/andbootstrap.sh.d/for modular configuration - Provenance tracking: Replaced JSON with
graft.local.env(follows*.local.*convention) - Stock-specific files: Consistent
*.localand*.local.*exclusion pattern
Terminology & Documentation
- Standardized terminology: scion (new/previous) instead of upstream/baseline (Debian dpkg model)
- Comprehensive FAQ: 33 Q&A covering installation, troubleshooting, design decisions
- Updated READMEs: Clear .vscode structure, file replacement semantics, cross-references
- Accurate MAINTAINER.md: Corrected flags, removed outdated sections
Script Improvements
- State-based checks: Replaced first-run detection with .gitignore/README verification
- Canonical ID resolution: Local paths automatically resolved to GitHub IDs
- Bug fixes: Removed invalid
localoutside function, correctedresolve_to_canonical_id
Aliases
- New aliases:
graft,upgrade-scion,export-scion - Defined in
bootstrap.sh.d/10-aliases.sh
Breaking Changes
- Environment files moved from root to
.devcontainer/.cs_envand.cs_env.d/ - Bootstrap hooks now in
bootstrap.sh.d/instead of single script - Provenance file changed from
.graft.jsonto.cs_env.d/graft.local.env
Full changelog: 19ff52e...v1.1.0