TL;DR: Enhanced quality and stability. Secure UID/GID mappings via user namespaces. A new “sif” command. Pushing to and pulling from OCI registries via the “oras” reference. Singularity 3.3.0 is now generally available!
Our first release candidate for Singularity 3.3.0 appeared in mid-June. Given the frenetic pace of development, we saw this as an opportunity to double down on quality and stability. Three release candidates later, you can appreciate that the quality and stability objective has been achieved in spades. Kudos to the entire user, developer, and provider community for their collective and substantial efforts in reaching this milestone.
Of course, if quality and stability were all we focused on over the past few weeks, you’d rightly have some cause for concern. However, and significantly in addition to this original objective, the GA release of Singularity 3.3.0 also incorporates:
… a — fakeroot flag allowing you to build without sudo and spoof uid 0 on kernels with user namespace support, a sif command allowing you to inspect and manipulate SIF files, and an oras URI allowing you to push and pull SIF files to supported OCI registries!
The release notes for Singularity 3.3.0, from which we extracted that summary above, provide the granular details for those so inclined.
Appreciation for the value of this initial foray into UID spoofing on kernels with user namespace support is already evident; for example Pierre Rioux, a developer at the Montreal Neurological Institute, states:
This is great! I love that we can pretend to be uid 0. User namespaces have been here for a few years so all my systems support it, too. Big thanks to the Singularity dev team!
We expect to engage with the entire Singularity community to build upon this foundation in future releases.
With the version 3.0 release of Singularity in October 2018, the value proposition for the Singularity Image Format (SIF) was established; since this time it has increased exponentially and, as we look to the future, this trajectory is destined to continue. With the addition of the “sif” command, SIF files can now be inspected and manipulated via 8 subcommands.
Finally, it’s definitely worth repeating the value of the oras URI as:
… support was anticipated about [three] months ago in posts over on the Microsoft Azure and Tech Community blogs. With this first release candidate for Singularity 3.3.0, the user, developer, and provider community can now push and pull Singularity Image Format (SIF) files to supported OCI registries via the “oras” reference.
Singularity 3.3.0 is now generally available via GitHub here. Enjoy!