This release closes 24 issues.

Highlights
==========

SquashFUSE minimum version now 0.4.0
------------------------------------

If internal SquashFS mounting is enabled, we now require at least SquashFUSE
version 0.4.0 for better multi-threading stability (#2128).

Several bug fixes for `ENTRYPOINT` and `CMD`
--------------------------------------------

The run-time handling of the `ENTRYPOINT` and `CMD` Dockerfile instructions
has quite a few bug fixes and improvements:

  * `ch-run` now respects `ENTRYPOINT` and `CMD` for SquashFS images (#2097).
  * `ENTRYPOINT []` and `CMD []` now cancel a previous corresponding
    instruction (#2136), matching Docker’s behavior as documented in an [issue
    comment][1] but not the [Dockerfile reference][2].
  * Documentation improved significantly (#2145); in particular, it now covers
    all possible interactions of `ENTRYPOINT`, `CMD`, and the user command
    from the command line. We even correctly describe some corner cases that
    the [Dockerfile reference][2] gets wrong about Docker.
  * Fixed `ENTRYPOINT` command being invoked in error (#2119).
  * `ENTRYPOINT`/`CMD` metadata in pulled images now correctly handled (#2123).

[1]: https://github.com/moby/moby/issues/3465#issuecomment-47598629
[2]: https://docs.docker.com/reference/dockerfile

Release tarballs now have usable URLs
-------------------------------------

Since moving to GitLab, release tarballs have had unhelpful auto-assigned
URLs. Now, they have more reasonable and predictable URLs (#2110).
Specifically, the tarball for version `FOO` can be found at
`https://gitlab.com/charliecloud/charliecloud/-/releases/vFOO/downloads/charliecloud-FOO.tar.gz`.
We have also re-uploaded all the tarballs since 0.36 using this pattern.

These tarballs are linked at the bottom of each release under *Assets*
category *Other*. Use the link `charliecloud-FOO.tar.gz`, which is an actual
release tarball with `configure` and bundled libraries ready to go (i.e.,
standard `make dist` result), rather than *Source code*, which are a snapshot
of the Git state and thus add no value over a Git checkout.

Other changes by component
==========================

`ch-run`
--------

* Fix crash in some environments when a nonexistent UID is mapped with `--uid`
  (#2129).

`ch-image`
----------

* Pulled images containing symlinks with too many up-levels (`../` target path
  elements) are now fixed instead of rejected (#2144).
* Big-endian PowerPC containers can now be pulled (#2117).
* `build --force=fakeroot` now works for Adélie Linux (#2118).
* Proper error message from `ch-image --auth` if `$CH_IMAGE_USERNAME` is not
  set and standard input cannot be used to prompt the user (#2124).


Build/install
-------------

* Fix build failure on i386 an possibly other 32-bit architectures (#2109).
* `configure` works better in sandboxed distribution package builds (#2101,
  #2108).


Documentation/logging
---------------------

* README: tidy and fix some links (#1979).
* Fix `linuxcontainers.org` links in FAQ (#2039).
* Meaningful error message when attempting to binding a file to a nonexistent
  mount point (#2125).
* TSC membership list updated in governance doc (#2127).

Test/examples/CI
----------------

* Fix the Spack test image so it builds again (#2140) and move it to standard
  scope so it’s more regularly tested (#2141).
* Remove a symlink to `/tmp` from the test suite, working around [Spack issue
  #51311][1] and possibly other brittleness (#2142).

[1]: https://github.com/spack/spack/issues/51311


Miscellaneous
-------------

* `ch-convert` now accepts arbitrary tarball filenames if `-o tar` is given
  (#2135).
* GitLab project: Obsolete issue labels are now “archived” and do not appear
  in the label drop-down (#2055).
