github.com/tri-adam/singularity@v3.1.1+incompatible/CHANGELOG.md (about)

     1  _With the release of `v3.0.0`, we're introducing a new changelog format in an attempt to consolidate the information presented in the changelog. The new changelog is reduced in scope to only documenting functionality changes from version to version. This ensures that the changelog is as useful as it can be. Changes which should be documented include:_
     2    
     3    - _Renamed commands_
     4    - _Deprecated / removed commands_
     5    - _Changed defaults / behaviors_
     6    - _Migration guidance_
     7    - _New features / functionalities_
     8  
     9  
    10  _The old changelog can be found in the `release-2.6` branch_
    11  
    12  # Changes Since v3.1.1
    13  
    14  # v3.1.1 - [2019.04.02]
    15  
    16  ## New Commands
    17    - New hidden `buildcfg` command to display compile-time parameters 
    18    - Added support for `LDFLAGS`, `CFLAGS`, `CGO_` variables in build system
    19    - Added `--nocolor` flag to Singularity client to disable color in logging
    20  
    21  ## Removed Commands
    22    - `singularity capability <add/drop> --desc` has been removed
    23    - `singularity capability list <--all/--group/--user> flags have all been removed 
    24  
    25  ## New features / functionalities
    26    - The `--builder` flag to the `build` command implicitly sets `--remote`
    27    - Repeated binds no longer cause Singularity to exit and fail, just warn instead
    28    - Corrected typos and improved docstrings throughout
    29    - Removed warning when CWD does not exist on the host system
    30    - Added support to spec file for RPM building on SLES 11
    31  
    32  # v3.1.0 - [2019.02.22]
    33  
    34  ## New Commands
    35    - Introduced the `oci` command group to support a new OCI compliant variant of the Singularity runtime:
    36      - `attach` Attach console to a running container process
    37      - `create` Create a container from a bundle directory
    38      - `delete` Delete container
    39      - `exec`   Execute a command within container
    40      - `kill`   Kill a container
    41      - `mount`  Mount create an OCI bundle from SIF image
    42      - `pause`  Suspends all processes inside the container
    43      - `resume` Resumes all processes previously paused inside the container
    44      - `run`    Create/start/attach/delete a container from a bundle directory
    45      - `start`  Start container process
    46      - `state`  Query state of a container
    47      - `umount` Umount delete bundle
    48      - `update` Update container cgroups resources
    49    - Added `cache` command group to inspect and manage cached files
    50      - `clean` Clean your local Singularity cache
    51      - `list`  List your local Singularity cache
    52  
    53  ## New features / functionalities
    54    - Can now build CLI on darwin for limited functionality on Mac
    55    - Added the `scratch` bootstrap agent to build from anything
    56    - Reintroduced support for zypper bootstrap agent
    57    - Added the ability to overwrite a new `singularity.conf` when building from RPM if desired
    58    - Fixed several regressions and omissions in [SCIF](https://sci-f.github.io/) support
    59    - Added caching for containers pulled/built from the [Container Library](https://cloud.sylabs.io/library)
    60    - Changed `keys` command group to `key` (retained hidden `keys` command for backward compatibility)  
    61    - Created an `RPMPREFIX` variable to allow RPMs to be installed in custom locations
    62    - Greatly expanded CI unit and end-to-end testing
    63  
    64  # v3.0.3 - [2019.01.21]
    65    
    66    - Bind paths in `singularity.conf` are properly parsed and applied at runtime
    67    - Singularity runtime will properly fail if `singularity.conf` file is not owned by the root user
    68    - Several improvements to RPM packaging including using golang from epel, improved support for Fedora, and avoiding overwriting conf file on new RPM install
    69    - Unprivileged `--contain` option now properly mounts `devpts` on older kernels
    70    - Uppercase proxy environment variables are now rightly respected
    71    - Add http/https protocols for singularity run/pull commands
    72    - Update to SIF 1.0.2
    73    - Add _noPrompt_ parameter to `pkg/signing/Verify` function to enable silent verification
    74  
    75  # v3.0.2 - [2019.01.04]
    76  
    77    - Added the `--docker-login` flag to enable interactive authentication with docker registries
    78    - Added support for pulling directly from HTTP and HTTPS
    79    - Made minor improvements to RPM packaging and added basic support for alpine packaging
    80    - The `$SINGULARITY_NOHTTPS`,`$SINGULARITY_TMPDIR`, and `$SINGULARITY_DOCKER_USERNAME`/`$SINGULARITY_DOCKER_PASSWORD` environment variables are now correctly respected
    81    - Pulling from a private shub registry now works as expected
    82    - Running a container with `--network="none"` no longer incorrectly fails with an error message
    83    - Commands now correctly return 1 when incorrectly executed without arguments
    84    - Progress bars no longer incorrectly display when running with `--quiet` or `--silent`
    85    - Contents of `91-environment.sh` file are now displayed if appropriate when running `inspect --environment`
    86  
    87  # v3.0.1 - [2018.10.31]
    88  
    89    - Improved RPM packaging procedure via makeit
    90    - Enhanced general stability of runtime
    91  
    92  # v3.0.0 - [2018.10.08]
    93  
    94    - Singularity is now written primarily in Go to bring better integration with the existing container ecosystem
    95    - Added support for new URIs (`build` & `run/exec/shell/start`):
    96      - `library://` - Supports the [Sylabs.io Cloud Library](https://cloud.sylabs.io/library)
    97      - `docker-daemon:` - Supports images managed by the locally running docker daemon
    98      - `docker-archive:` - Supports archived docker images
    99      - `oci:` - Supports oci images
   100      - `oci-archive:` - Supports archived oci images
   101    - Handling of `docker` & `oci` URIs/images now utilizes [containers/image](https://github.com/containers/image) to parse and convert those image types in a supported way
   102    - Replaced `singularity instance.*` command group with `singularity instance *`
   103    - The command `singularity help` now only provides help regarding the usage of the `singularity` command. To display an image's `help` message, use `singularity run-help <image path>` instead
   104   
   105  ## Removed Deprecated Commands
   106    - Removed deprecated `singularity image.*` command group
   107    - Removed deprecated `singularity create` command
   108    - Removed deprecated `singularity bootstrap` command
   109    - Removed deprecated `singularity mount` command
   110  
   111  ## New Commands
   112    - Added `singularity run-help <image path>` command to output an image's `help` message
   113    - Added `singularity sign <image path>` command to allow a user to cryptographically sign a SIF image
   114    - Added `singularity verify <image path>` command to allow a user to verify a SIF image's cryptographic signatures
   115    - Added `singularity keys` command to allow the management of `OpenPGP` key stores
   116    - Added `singularity capability` command to allow fine grained control over the capabilities of running containers
   117    - Added `singularity push` command to push images to the [Sylabs.io Cloud Library](https://cloud.sylabs.io/library)
   118  
   119  ## Changed Commands
   120  
   121  ### Action Command Group (`run/shell/exec/instance start`)
   122    - Added flags:
   123      - `--add-caps <string>`: Run the contained process with the specified capability set (requires root)
   124      - `--allow-setuid`: Allows setuid binaries to be mounted into the container (requires root)
   125      - `--apply-cgroups <path>`: Apply cgroups configuration from file to contained processes (requires root)
   126      - `--dns <string>`: Adds the comma separated list of DNS servers to the containers `resolv.conf` file
   127      - `--drop-caps <string>`: Drop the specified capabilities from the container (requires root)
   128      - `--fakeroot`: Run the container in a user namespace as `uid=0`. Requires a recent kernel to function properly
   129      - `--hostname <string>`: Set the hostname of the container
   130      - `--keep-privs`: Keep root user privilege inside the container (requires root)
   131      - `--network <string>`: Specify a list of comma separated network types ([CNI Plugins](https://github.com/containernetworking/cni)) to be present inside the container, each with its own dedicated interface in the container
   132      - `--network-args <string>`: Specify arguments to pass to CNI network plugins (set by `--network`)
   133      - `--no-privs`: Drop all privileges from root user inside the container (requires root)
   134      - `--security <string>`: Configure security features such as SELinux, Apparmor, Seccomp...
   135      - `--writable-tmpfs`: Run container with a `tmpfs` overlay
   136    - The command `singularity instance start` now supports the `--boot` flag to boot the container via `/sbin/init`
   137    - Changes to image mounting behavior:
   138      - All image formats are mounted as read only by default
   139      - `--writable` only works on images which can be mounted in read/write [applicable to: `sandbox` and legacy `ext3` images]
   140      - `--writable-tmpfs` runs the container with a writable `tmpfs`-based overlay [applicable to: all image formats]
   141      - `--overlay <string>` now specifies a list of `ext3`/`sandbox` images which are set as the containers overlay [applicable to: all image formats] 
   142  
   143  ### Build Command:
   144    - All images are now built as [Singularity Image Format (SIF)](https://www.sylabs.io/2018/03/sif-containing-your-containers/) images by default
   145    - When building to a path that already exists, `singularity build` will now prompt the user if they wish to overwrite the file existing at the specified location
   146    - The `-w|--writable` flag has been removed
   147    - The `-F|--force` flag now overrides the interactive prompt and will always attempt to overwrite the file existing at the specified location
   148    - The `-u|--update` flag has been added to support the workflow of running a definition file on top of an existing container [implies `--sandbox`, only supports `sandbox` image types]
   149    - The `singularity build` command now supports the following flags for integration with the [Sylabs.io Cloud Library](https://cloud.sylabs.io/library):
   150      - `-r|--remote`: Build the image remotely on the Sylabs Remote Builder (currently unavailable)
   151      - `-d|--detached`: Detach from the `stdout` of the remote build [requires `--remote`]
   152      - `--builder <string>`: Specifies the URL of the remote builder to access
   153      - `--library <string>`: Specifies the URL of the [Sylabs.io Cloud Library](https://cloud.sylabs.io/library) to push the built image to when the build command destination is in the form `library://<reference>`
   154    - The `bootstrap` keyword in the definition file now supports the following values:
   155      - `library`
   156      - `docker-daemon`
   157      - `docker-archive`
   158      - `oci`
   159      - `oci-archive`
   160    - The `from` keyword in the definition file now correctly parses a `docker` URI which includes the `registry` and/or `namespace` components
   161    - The `registry` and `namespace` keywords in the definition file are no longer supported. Instead, those values may all go into the `from` keyword
   162    - Building from a tar archive of a `sandbox` no longer works