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
Copy file name to clipboardExpand all lines: CHANGELOG.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,12 @@ Notable changes.
4
4
5
5
## May 2026
6
6
7
+
### [0.87.0]
8
+
- Graduate lockfile from experimental to stable: lockfiles are now generated by default on `build` and `up`. (https://github.com/devcontainers/cli/issues/1195)
9
+
- New `--no-lockfile` flag to opt out of lockfile generation.
10
+
- New `--frozen-lockfile` flag to ensure the lockfile exists and remains unchanged.
11
+
-`--experimental-lockfile` and `--experimental-frozen-lockfile` are deprecated (still accepted with a warning).
12
+
7
13
### [0.86.1]
8
14
- Do not write features supplied via `--additional-features` to the lockfile. (https://github.com/microsoft/vscode-remote-release/issues/11616)
Copy file name to clipboardExpand all lines: README.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,11 +15,15 @@ This CLI is in active development. Current status:
15
15
-[x]`devcontainer run-user-commands` - Runs lifecycle commands like `postCreateCommand`
16
16
-[x]`devcontainer read-configuration` - Outputs current configuration for workspace
17
17
-[x]`devcontainer exec` - Executes a command in a container with `userEnvProbe`, `remoteUser`, `remoteEnv`, and other properties applied
18
+
-[x]`devcontainer outdated` - Show outdated lockfile features
19
+
-[x]`devcontainer upgrade` - Upgrade lockfile features
18
20
-[x]`devcontainer features <...>` - Tools to assist in authoring and testing [Dev Container Features](https://containers.dev/implementors/features/)
19
21
-[x]`devcontainer templates <...>` - Tools to assist in authoring and testing [Dev Container Templates](https://containers.dev/implementors/templates/)
20
22
-[ ]`devcontainer stop` - Stops containers
21
23
-[ ]`devcontainer down` - Stops and deletes containers
22
24
25
+
Lockfiles (`.devcontainer-lock.json`) are generated by default when running `build` or `up` to pin feature versions for reproducible builds. Use `--no-lockfile` to opt out, or `--frozen-lockfile` to enforce an existing lockfile.
26
+
23
27
## Try it out
24
28
25
29
We'd love for you to try out the dev container CLI and let us know what you think. You can quickly try it out in just a few simple steps, either by using the install script, installing its npm package, or building the CLI repo from sources (see "[Build from sources](#build-from-sources)").
Tests use [Mocha](https://mochajs.org/) and [Chai](https://www.chaijs.com/) and require Docker because they create and tear down real containers.
97
97
98
+
Before running tests, package the CLI into a tarball:
99
+
100
+
```sh
101
+
npm run package
102
+
```
103
+
104
+
Tests install the CLI from the generated `devcontainers-cli-<version>.tgz` and shell out to it as a subprocess. You must re-run `npm run package` after any code change so that the tarball reflects your latest changes. Running `npm run compile` alone is **not** sufficient — it builds the JavaScript output but does not create the tarball that the tests depend on.
105
+
98
106
```sh
99
107
npm test# all tests
100
108
npm run test-container-features # Features tests only
0 commit comments