v0.1.4
Fixed
- runtime — probe the user's interactive shell environment before running lifecycle hooks instead of only after.
Engine.Upused to leavews.probedEnvempty for the entire lifecycle chain, sopostCreateCommand(and earlier phases) ran with only the container's default env plusremoteEnv. PATH entries published via.bashrc//etc/profile.dsnippets — nvm- or asdf-managed binaries, or pnpm installed by the officialghcr.io/devcontainers-extra/features/pnpmfeature — were invisible to hooks, causingcommand not foundfailures that diverged from@devcontainers/cli. Probing happens both before and after lifecycle now: the pre-pass gives hooks rc-derived env, the post-pass picks up any rc edits the hooks themselves made for subsequentExeccalls. (#55)
Changed
- runtime —
Engine.Upnow returns(ws, err)instead of(nil, err)when a lifecycle hook exits non-zero. The container is created and still running; consumers building VS Code / Codespaces-style UX want to surface a warning and keep the container reattachable rather than treat everypostCreateCommandbug as a fatal Up failure. Matches@devcontainers/cli, which exits 1 on lifecycle failure but leaves the container intact.*LifecycleErroris the discriminator — non-lifecycle errors (marker I/O, ctx cancellation, image build, feature install) still return(nil, err)unchanged. Strict callers keep current behavior with the usualif err != nil { return nil, err }. (#56)
Full Changelog: v0.1.3...v0.1.4