summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Rosdahl <joel@rosdahl.net>2023-03-12 22:00:38 +0100
committerJoel Rosdahl <joel@rosdahl.net>2023-03-12 22:00:38 +0100
commit8915a06515f145728ffd15f413147a6e36164440 (patch)
tree60ce7c10addcd0f10108373fa457e2a901819567
parent97ef3f31950ab0325f163ad9e75b904e1545c844 (diff)
downloadccache-8915a06515f145728ffd15f413147a6e36164440.tar.gz
chore: Update NEWS
-rw-r--r--doc/NEWS.adoc141
1 files changed, 141 insertions, 0 deletions
diff --git a/doc/NEWS.adoc b/doc/NEWS.adoc
index 72499040..92907dc3 100644
--- a/doc/NEWS.adoc
+++ b/doc/NEWS.adoc
@@ -1,5 +1,146 @@
= Ccache news
+== Ccache 4.8
+
+Release date: 2023-03-12
+
+
+=== New features and improvements
+
+- Improved the automatic cache cleanup mechanism. Automatic cleanups are now
+ performed on 1/256 of the cache instead of 1/16, thus making them much quicker
+ (but naturally more frequent). Cleanups are coordinated between ccache
+ processes so that at most one process will perform cleanup at a time. Also,
+ the actual cache size will stay very close to the configured maximum size
+ instead of staying around 90% as was the case before. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Added support for setting per-compilation configuration options on the command
+ line. Example: `ccache hash_dir=false gcc -c example.c`. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Made it possible to disable ccache for a certain source code file by embedding
+ the string `ccache:disable` in a comment near the top of the file. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Made ccache understand that an MSVC `/Z7` option overrides an earlier `/Z*`
+ option and thus is not too hard to cache. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Added a `--recompress-threads` command line option for selecting the number of
+ CPU threads to use when recompressing the local cache. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Added `--trim-recompress` and `--trim-recompress-threads` command line options
+ for recompressing file-based remote storage. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Added tmpfs, ufs and zfs to the list of supported filesystems on macOS and
+ BSDs for the inode cache. +
+ [small]#_[contributed by Oleg Sidorkin]_#
+
+- Improved progress bars for clean/clear/evict-style operations. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Improved printing of cache sizes in various outputs. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Activate debug logging for command mode options like `--cleanup`. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Added support for `-Wp,-U<macro>` in the direct mode. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Added quotes around arguments with space in logged command lines. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Added logging of executed command lines on Windows. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Made sure not to update the stats file when there are no incremented
+ counters. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Improved actual disk size calculation on Windows. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+
+=== Build/CI improvements
+
+- Added CI support for building macOS universal binaries. +
+ [small]#_[contributed by Raihaan Shouhell]_#
+
+- Make it possible to force download of Zstd and Hiredis, e.g. with `cmake -D
+ ZSTD_FROM_INTERNET=ON [...]`. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+
+=== Bug fixes
+
+- Fixed an edge case where a non-temporal identifier is misidentified. +
+ [small]#_[contributed by Erik Flodin]_#
+
+- Fixed reporting of local/remote cache misses in depend mode. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Fixed parsing of backslashes in MSVC RSP files. +
+ [small]#_[contributed by Raihaan Shouhell]_#
+
+- Fixed a crash in `--show-log-stats` when the stats log file doesn't exist. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Fixed matching of base directory for MSVC. The base directory will now match
+ case-insensitively with absolute paths in preprocessed output, or from
+ `/showIncludes` in the depend mode case, when compiling with MSVC. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Fixed a problem where the original umask would be used when storing a remote
+ cache result in the local cache. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Changed the inode cache implementation to use spinlocks instead of pthread
+ mutexes. This makes the inode cache work on FreeBSD and similar systems. +
+ [small]#_[contributed by Oleg Sidorkin]_#
+
+- Don't treat `-Wp,-D` as interchangeable with `-D`. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Disable the inode cache if the filesystem risks getting full soon. This fixes
+ a problem when the cache is on a filesystem where `posix_fallocate` isn't
+ reliable, like Btrfs with compression enabled. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Fixed performance of cache path relativization in preprocessed output,
+ primarily on Windows where `stat` calls are relatively costly. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Fixed rare crash in the signal handler at process exit. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Fixed handling of Unix-style paths passed to MSVC. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Fixed so that the config options and command line are logged before trying to
+ locate the compiler and exiting early. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+
+=== Documentation improvements
+
+- Improved description of `--set-config`. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Fixed broken markup in the manual. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Added a note to the manual that `stats = false` will disable automatic
+ cleanup. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+- Fix a bad reference to the "`Remote storage backends`" section. +
+ [small]#_[contributed by Joel Rosdahl]_#
+
+
== Ccache 4.7.4
Release date: 2022-11-21