Skip to content

v9.0.0

Latest

Choose a tag to compare

@philips-software-forest-releaser philips-software-forest-releaser released this 06 Nov 10:39
82c881a

9.0.0 (2026-11-06)

📋 Summary

amp-devcontainer 9.0.0 introduces non-root development across all image flavors, adds GitHub CLI, and updates C++ and documentation tooling.

Note

Breaking change: containers now run as code instead of root.
The code account uses UID/GID 1000:1000, with its home directory at /home/code. VS Code and GitHub Codespaces also select this account by default.

When upgrading:

  • Update scripts and configuration that assume /root; prefer $HOME for user-specific paths.
  • Ensure mounted workspaces, caches, and volumes are writable by the container user. Existing root-owned files may need their ownership adjusted.
  • In derived Dockerfiles, explicitly switch to USER root (or USER 0) before installing system packages or modifying system directories, then switch back to USER code (or USER 1000).
  • For CI jobs requiring administrative access, explicitly select root—for example, container.options: --user 0 in GitHub Actions or docker run --user 0. Ordinary builds and tests should continue running as code.

Warning

GitHub hosted runners require Actions to run as root

amp-devcontainer uses least-privileged execution by default, while allowing CI platforms to override runtime identity where required.
For GitHub hosted runners this requires:

container:
  image: <container image>
  options: --user 0

See: Dockerfile support and actions/checkout#956

amp-devcontainer-base

  • Added GitHub CLI (gh), available in every image flavor.
  • Updated the Ubuntu base image and refreshed certificate handling.
  • Improved inherited devcontainer configuration so every flavor consistently uses the non-root account.

amp-devcontainer-cpp and amp-devcontainer-embedded-cpp

  • Updated Mull to 0.37.0, installing checksum-verified packages directly from GitHub Releases instead of the Mull APT repository.
  • Updated gcovr to 8.8.

amp-devcontainer-docs

  • Updated sbdl from 1.27.12 to 2.0.1. Review compatibility with your existing requirements models when upgrading.

Verification and release information

  • Expanded integration checks for included tools.
  • Release tool tables now include commands and library files alongside versions recorded in each image’s SBOM.

🍨 Image flavors

Flavor Full identifier
base
ghcr.io/philips-software/amp-devcontainer-base:v9.0.0@sha256:d2a03abb389d0eac7670506128c80cf174890c51434a6e0c6689ae58c89db740
cpp
ghcr.io/philips-software/amp-devcontainer-cpp:v9.0.0@sha256:4220f72ef76957f9b24eb6faf558d90a427e290c99ce1ad7bd27be7a7ac0e944
docs
ghcr.io/philips-software/amp-devcontainer-docs:v9.0.0@sha256:3384cf36bd641a089decdf33a4a45d78df9b5f244864bfca3ee0da317fe0e350
embedded-cpp
ghcr.io/philips-software/amp-devcontainer-embedded-cpp:v9.0.0@sha256:2ea81b75aece14e1083181c3fdc46920b8d59b27fb4b2ba8aa039a188a482bed
embedded-rust
ghcr.io/philips-software/amp-devcontainer-embedded-rust:v9.0.0@sha256:ea6eff112a11d5463bc91ff81b1002ef50e47ed1171c7a87970afc2f2dc4dbd6
rust
ghcr.io/philips-software/amp-devcontainer-rust:v9.0.0@sha256:1b325b7217f463325485244a983b6430362f6c69c2e90b83297c0c068daefad9

🛠️ Included tools

The tables below list the most relevant packages per flavor, their versions from the image's Software Bill of Materials (SBOM), and the commands or library files checked by the integration tests.

amp-devcontainer-base
Package Version Included commands Included files
bats 1.13.0 bats
bats-assert 2.2.4 /usr/local/bats-assert/load.bash
bats-support 0.3.0 /usr/local/bats-support/load.bash
gh 2.103.3 gh
git 1:2.53.0-1ubuntu1.1 git
gnupg2 2.4.8-4ubuntu3.1 gpg
wget 1.25.0-2ubuntu4.4 wget
amp-devcontainer-cpp
Package Version Included commands Included files
bats 1.13.0 bats
bats-assert 2.2.4 /usr/local/bats-assert/load.bash
bats-support 0.3.0 /usr/local/bats-support/load.bash
ccache 4.13.1 ccache
clang-22 1:22.1.2-1ubuntu1 clang-22, clang++-22, clang-cpp-22
clang-format-22 1:22.1.2-1ubuntu1 clang-format-22
clang-tidy-22 1:22.1.2-1ubuntu1 clang-tidy-22
clang-tools-22 1:22.1.2-1ubuntu1 clang-check-22, clang-doc-22, clang-include-cleaner-22, clang-move-22, clang-query-22, clang-refactor-22
clangd-22 1:22.1.2-1ubuntu1 clangd-22
cmake 4.4.4 cmake
conan 2.34.0 conan
g++-15 15.2.0-16ubuntu1 g++-15
gcovr 8.8 gcovr
gdb-multiarch 17.1-2ubuntu1 gdb, gdb-multiarch
gh 2.103.3 gh
git 1:2.53.0-1ubuntu1.1 git
gnupg2 2.4.8-4ubuntu3.1 gpg
include-what-you-use 0.26 iwyu
lld-22 1:22.1.2-1ubuntu1 ld.lld-22
llvm-22 1:22.1.2-1ubuntu1 llvm-ar-22, llvm-as-22, llvm-cxxfilt-22, llvm-cov-22, llvm-link-22, llvm-nm-22, llvm-objcopy-22, llvm-objdump-22, llvm-readelf-22
mull-22 0.37.0 mull-instrument, mull-runner, mull-reporter /usr/lib/mull-ir-frontend-22
ninja-build 1.13.2-1 ninja
wget 1.25.0-2ubuntu4.4 wget
xwin 0.10.0 xwin
amp-devcontainer-docs
Package Version Included commands Included files
bats 1.13.0 bats
bats-assert 2.2.4 /usr/local/bats-assert/load.bash
bats-support 0.3.0 /usr/local/bats-support/load.bash
gh 2.103.3 gh
git 1:2.53.0-1ubuntu1.1 git
gnupg2 2.4.8-4ubuntu3.1 gpg
graphviz 14.1.2-1ubuntu1 dot
plantuml 1:1.2020.2+ds-6build1 plantuml
python3-pip 25.1.1+dfsg-1ubuntu2 pip
sbdl 2.0.1 sbdl
wget 1.25.0-2ubuntu4.4 wget
amp-devcontainer-embedded-cpp
Package Version Included commands Included files
arm-gnu-toolchain 15.2.rel1 arm-none-eabi-gcc, arm-none-eabi-g++, arm-none-eabi-as, arm-none-eabi-ld, arm-none-eabi-objcopy, arm-none-eabi-objdump, arm-none-eabi-readelf
bats 1.13.0 bats
bats-assert 2.2.4 /usr/local/bats-assert/load.bash
bats-support 0.3.0 /usr/local/bats-support/load.bash
ccache 4.13.1 ccache
clang-22 1:22.1.2-1ubuntu1 clang-22, clang++-22, clang-cpp-22
clang-format-22 1:22.1.2-1ubuntu1 clang-format-22
clang-tidy-22 1:22.1.2-1ubuntu1 clang-tidy-22
clang-tools-22 1:22.1.2-1ubuntu1 clang-check-22, clang-doc-22, clang-include-cleaner-22, clang-move-22, clang-query-22, clang-refactor-22
clangd-22 1:22.1.2-1ubuntu1 clangd-22
cmake 4.4.4 cmake
conan 2.34.0 conan
g++-15 15.2.0-16ubuntu1 g++-15
gcovr 8.8 gcovr
gdb-multiarch 17.1-2ubuntu1 gdb, gdb-multiarch
gh 2.103.3 gh
git 1:2.53.0-1ubuntu1.1 git
gnupg2 2.4.8-4ubuntu3.1 gpg
include-what-you-use 0.26 iwyu
lld-22 1:22.1.2-1ubuntu1 ld.lld-22
llvm-22 1:22.1.2-1ubuntu1 llvm-ar-22, llvm-as-22, llvm-cxxfilt-22, llvm-cov-22, llvm-link-22, llvm-nm-22, llvm-objcopy-22, llvm-objdump-22, llvm-readelf-22
mull-22 0.37.0 mull-instrument, mull-runner, mull-reporter /usr/lib/mull-ir-frontend-22
ninja-build 1.13.2-1 ninja
wget 1.25.0-2ubuntu4.4 wget
xsltproc 1.1.45-0.1 xsltproc
xwin 0.10.0 xwin
amp-devcontainer-embedded-rust
Package Version Included commands Included files
bats 1.13.0 bats
bats-assert 2.2.4 /usr/local/bats-assert/load.bash
bats-support 0.3.0 /usr/local/bats-support/load.bash
cargo-binstall 1.21.0 cargo-binstall
cargo-binutils 0.3.6 rust-ar, cargo-cov, cargo-nm, cargo-objcopy, cargo-objdump, cargo-profdata, cargo-readobj, cargo-size, cargo-strip
cargo-mutants 25.3.1 cargo-mutants
flip-link 0.1.12 flip-link
g++-15 15.2.0-16ubuntu1 g++-15
gh 2.103.3 gh
git 1:2.53.0-1ubuntu1.1 git
gnupg2 2.4.8-4ubuntu3.1 gpg
probe-rs-tools 0.31.0 probe-rs, cargo-embed, cargo-flash
rust 1.94.1 rustc, cargo, rustfmt, cargo-clippy
rustup 1.27.1-8 rustup
wget 1.25.0-2ubuntu4.4 wget
amp-devcontainer-rust
Package Version Included commands Included files
bats 1.13.0 bats
bats-assert 2.2.4 /usr/local/bats-assert/load.bash
bats-support 0.3.0 /usr/local/bats-support/load.bash
cargo-binstall 1.21.0 cargo-binstall
cargo-binutils 0.3.6 rust-ar, cargo-cov, cargo-nm, cargo-objcopy, cargo-objdump, cargo-profdata, cargo-readobj, cargo-size, cargo-strip
cargo-mutants 25.3.1 cargo-mutants
g++-15 15.2.0-16ubuntu1 g++-15
gh 2.103.3 gh
git 1:2.53.0-1ubuntu1.1 git
gnupg2 2.4.8-4ubuntu3.1 gpg
rust 1.94.1 rustc, cargo, rustfmt, cargo-clippy
rustup 1.27.1-8 rustup
wget 1.25.0-2ubuntu4.4 wget

⚠ BREAKING CHANGES

  • add code container user to replace root (#1501)

Features

Bug Fixes

  • Enable code as container user for all configurations (#1516) (55dc7e3)

Chores