]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
docs: Update NEWS for ccache 4.4
authorJoel Rosdahl <joel@rosdahl.net>
Tue, 17 Aug 2021 18:04:24 +0000 (20:04 +0200)
committerJoel Rosdahl <joel@rosdahl.net>
Tue, 17 Aug 2021 18:04:32 +0000 (20:04 +0200)
doc/NEWS.adoc

index 3aedc354e7ed72d41d964815a1b2102b08416845..909e6fff229ce2d868002ef2c2970bbb1c5c3514 100644 (file)
@@ -1,5 +1,172 @@
 = Ccache news
 
+== Ccache 4.4
+
+Release date: TODO
+
+
+=== New features
+
+- Made it possible to share a cache over network or on a local filesystem. The
+  configuration option `secondary_storage`/`CCACHE_SECONDARY_STORAGE` specifies
+  one or several storage backends to query after the primary local cache
+  storage. It is also possible to configure sharding (partitioning) of the cache
+  to spread it over a server cluster using
+  https://en.wikipedia.org/wiki/Rendezvous_hashing[Rendezvous hashing]. See the
+  _https://ccache.dev/manual/4.4.html#_secondary_storage_backends[Secondary
+  storage backends]_ chapter in the manual for details. +
+  _[contributed by Joel Rosdahl]_
+
+- Added an HTTP backend for secondary storage on any HTTP server that supports
+  GET/PUT/DELETE methods. See https://ccache.dev/howto/http-storage.html[How to
+  set up HTTP storage] for hints on how to set up an HTTP server for use with
+  ccache. +
+  _[contributed by Gregor Jasny]_
+
+- Added a Redis backend for secondary storage on any server that supports the
+  Redis protocol. See https://ccache.dev/howto/redis-storage.html[How to set up
+  Redis storage] for hints on how to set up a Redis server for use with
+  ccache. +
+  _[contributed by Anders F Björklund]_
+
+- Added a filesystem backend for secondary storage. It can for instance be used
+  for a shared cache over networked filesystems such as NFS, or for mounting a
+  secondary read-only cache layer into a build container. +
+  _[contributed by Joel Rosdahl]_
+
+- Added `--trim-dir`, `--trim-max-size` and `--trim-method` options that can be
+  used to trim a secondary storage directory to a certain size, e.g. via
+  cron. +
+  _[contributed by Joel Rosdahl]_
+
+- Added a configuration option `reshare`/`CCACHE_RESHARE` which makes ccache
+  send results to secondary storage even for primary storage cache hits. +
+  _[contributed by Joel Rosdahl]_
+
+- Added new statistics counters for direct/preprocessed cache misses, primary
+  storage hits/misses, secondary storage hits/misses/errors/timeouts and forced
+  recaches. +
+  _[contributed by Joel Rosdahl]_
+
+- Improved statistics summary. The `-s`/`--show-stats` option now prints a more
+  condensed overview where the counters representing "`uncacheable calls`" are
+  summed as uncacheable and errors counters. The summary shows hit rate for
+  direct/preprocessed hits/misses, as well as primary/secondary storage
+  hits/misses. More details are shown with `-v`/`--verbose`. Note: Scripts
+  should use `--print-stats` (available since ccache 3.7) instead of trying to
+  parse the output of `--show-stats`. +
+  _[contributed by Joel Rosdahl]_
+
+- Added a "`stats log`" feature (configuration option
+  `stats_log`/`CCACHE_STATSLOG`), which tells ccache to store statistics in a
+  separate log file specified by the user. It can for instance be used to
+  collect statistics for a single build without interference from other
+  concurrent builds. Statistics from the log file can then be viewed with
+  `ccache --show-log-stats`. +
+  _[contributed by Anders F Björklund]_
+
+- Added support for clang's `--config` option. +
+  _[contributed by Tom Stellard]_
+
+- Added support for one `-Xarch_*` option that matches a corresponding `-arch`
+  option. +
+  _[contributed by Joel Rosdahl]_
+
+- Renamed the `--directory` option to `--dir` for consistency with other
+  options. +
+  _[contributed by Joel Rosdahl]_
+
+- Made the `--config-path` and `--dir` options affect whole command line so that
+  they don't have to be put before `-s`/`--show-stats`. +
+  _[contributed by Joel Rosdahl]_
+
+- Made `--dump-manifest` and `--dump-result` accept filename `-` for reading
+  from standard input. +
+  _[contributed by Anders F Björklund]_
+
+- Made the output of `--print-stats` sorted. +
+  _[contributed by Joel Rosdahl]_
+
+- Added more internal trace points. +
+  _[contributed by Joel Rosdahl]_
+
+
+=== Bug fixes
+
+- Fixed a crash if using `base_dir` and `$PWD` is set to a relative path. +
+  _[contributed by Joel Rosdahl]_
+
+- Fixed a bug with `-fprofile-generate` where ccache could give false positive
+  cache hits when compiling with relative paths in another directory. +
+  _[contributed by Joel Rosdahl]_
+
+- Fixed a bug in `debug_dir`/`CCACHE_DEBUGDIR`. The absolute path to the object
+  file was not created correctly if the object file didn't already exist. +
+  _[contributed by Joel Rosdahl]_
+
+- Disabled preprocessor hits for pre-compiled headers with Clang again. +
+  _[contributed by Arne Hasselbring]_
+
+- Fixed a problem when using the Gold linker on MIPS by only probing for a
+  faster linker in dev build mode and on x86_64. +
+  _[contributed by Joel Rosdahl]_
+
+- Made the `-DENABLE_TRACING=1` mode work again. +
+  _[contributed by Anders F Björklund]_
+
+
+=== Changed tooling
+
+- A C++14 compiler or newer is now required to build ccache. For GCC, this means
+  version 6 or newer in practice.
+
+- CMake 3.10 or newer is now required to build ccache.
+
+- https://asciidoctor.org[Asciidoctor] is now required to build ccache
+  documentation.
+
+
+=== Build/test/documentation improvements
+
+- Fixed an issue in the modules test suite that showed up when running the
+  ccache test suite with the clang wrapper provided by Nixpkgs. +
+  _[contributed by Ryan Burns]_
+
+- Made the nvcc_ldir test suite require a working NVCC. +
+  _[contributed by Michael Kruse]_
+
+- Made the ivfsoverlay test suite more robust. +
+  _[contributed by Michael Kruse]_
+
+- Fixed issue with usage of `/FI` when building ccache with MSVC. +
+  _[contributed by Michael Kruse]_
+
+- Fixed Apple Clang detection in the integration test suite. +
+  _[contributed by Gregor Jasny]_
+
+- Made clang the default compiler when running the test suite on macOS. +
+  _[contributed by Gregor Jasny]_
+
+- Silenced stray printout from "-P -c" test case. +
+  _[contributed by Joel Rosdahl]_
+
+- Fixed selection of the ccache binary to use when running the test suite with
+  multi-config generators like Xcode. +
+  _[contributed by Gregor Jasny]_
+
+- Fixed CMake feature detection for `ctim`/`mtim` fields in `struct stat`. +
+  _[contributed by Gregor Jasny]_
+
+- Fixed issue with not linking to .lib correctly on Windows. +
+  _[contributed by R. Voggenauer]_
+
+- Made it possible to override `CCACHE_DEV_MODE` on the command line. +
+  _[contributed by Joel Rosdahl]_
+
+- Improved HTML documentation style. +
+  _[contributed by Joel Rosdahl with minor fixes by Orgad Shaneh]_
+
+
 == Ccache 4.3
 
 Release date: 2021-05-09