Commit Graph

22195 Commits

Author SHA1 Message Date
Michael Tremer
9cbdd6b2e8 CSS: Keep links in the same colour in notes sections
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 17:33:56 +02:00
Michael Tremer
21884cc749 index.cgi: Move all warnings into the new system
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 17:33:35 +02:00
Michael Tremer
38077d69a9 index.cgi: Remove the warnings box and show a list of warnings instead
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 17:28:13 +02:00
Michael Tremer
4a04ad26b4 index.cgi: Remove hard-coded 80% table width
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 17:17:21 +02:00
Michael Tremer
aca5f661c2 services.cgi: Drop the process graphs
These are utterly broken and incomplete. I don't want to fix this now,
so I am dropping it.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 17:14:41 +02:00
Michael Tremer
0b16963484 web: Create a function to show the service status
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 17:08:40 +02:00
Michael Tremer
b5e6a2c56f services.cgi: Remove unused variables
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 17:00:42 +02:00
Michael Tremer
42201c17bd services.cgi: Use a section for the main services
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 17:00:31 +02:00
Michael Tremer
bdb8ef8db2 services.cgi: Use the new service status function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 17:00:19 +02:00
Michael Tremer
f0bf243193 langs: Add translations for the systems graphs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 16:57:41 +02:00
Michael Tremer
864b47bf79 Run "./make.sh lang"
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 16:54:06 +02:00
Michael Tremer
0869a6f5f3 graphs: Highlight the default range before the user clicks anything
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 16:51:06 +02:00
Michael Tremer
76f429d5d8 licenses: Remove the braindead GPL acception stage
The GPL is not an EULA and so there is no value in having users
accept it.

The UI is very broken and so I believe it is best to drop this entirely.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 16:48:27 +02:00
Michael Tremer
f7879935a5 core-updates: Fix release number
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 14:17:39 +00:00
Michael Tremer
07358a9fc5 make.sh: Grant network access when downloading packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 14:11:04 +00:00
Michael Tremer
cf6ab4e569 core188: Remove the old version of br2486ctl
This is now installed in /usr/sbin instead of /usr/bin.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 13:49:31 +00:00
Michael Tremer
41bc16ac0b br2684ctl: Remove rootfile, too
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 13:48:39 +00:00
Michael Tremer
dae1ac41e3 make.sh: Bind-mount /etc/resolv.conf and /etc/hosts
This allows us to have name resolution in the shell without any manual
configuration.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 13:45:08 +00:00
Michael Tremer
91942800f9 make.sh: Entirely disable network access in the build environment
Except when in the shell.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 13:38:30 +00:00
Michael Tremer
c00286b609 core188: Ship cyrus-sasl
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 09:13:54 +00:00
Michael Tremer
fd4ee38136 cyrus-sasl: Update to 2.1.28
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 09:13:42 +00:00
Michael Tremer
552cf4e825 cyrus-sasl: Remove unsed PASS build instructions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 09:13:27 +00:00
Michael Tremer
869102c0a9 core188: Ship libxslt
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 09:13:08 +00:00
Michael Tremer
d44788101b libxslt: Update to 1.1.42
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 09:12:58 +00:00
Michael Tremer
64feedbcf6 br2684ctl: Drop package
This tool is now part of linux-atm.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 09:12:45 +00:00
Michael Tremer
095b258b97 core188: Ship linux-atm
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 09:12:27 +00:00
Michael Tremer
b734e6f7b6 linux-atm: Update to 2.5.2
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 09:11:59 +00:00
Adolf Belka
acf2754880 openssl: Update to version 3.3.0
- Update from version 3.2.1 to 3.3.0
- Update of rootfile
- Changelog
    3.3
	This release adds the following new features:
	  * Support for qlog for tracing QUIC connections has been added
	  * Added APIs to allow configuring the negotiated idle timeout for QUIC
	    connections, and to allow determining the number of additional streams
	    that can currently be created for a QUIC connection.
	  * Added APIs to allow disabling implicit QUIC event processing for QUIC SSL
	    objects
	  * Added APIs to allow querying the size and utilisation of a QUIC stream's
	    write buffer
	  * New API `SSL_write_ex2`, which can be used to send an end-of-stream (FIN)
	    condition in an optimised way when using QUIC.
	  * Limited support for polling of QUIC connection and stream objects in a
	    non-blocking manner.
	  * Added a new EVP_DigestSqueeze() API. This allows SHAKE to squeeze multiple
	    times with different output sizes.
	  * Added exporter for CMake on Unix and Windows, alongside the pkg-config
	    exporter.
	  * The BLAKE2s hash algorithm matches BLAKE2b's support for configurable
	    output length.
	  * The EVP_PKEY_fromdata function has been augmented to allow for the
	    derivation of CRT (Chinese Remainder Theorem) parameters when requested
	  * Added API functions SSL_SESSION_get_time_ex(), SSL_SESSION_set_time_ex()
	    using time_t which is Y2038 safe on 32 bit systems when 64 bit time
	    is enabled
	  * Unknown entries in TLS SignatureAlgorithms, ClientSignatureAlgorithms
	    config options and the respective calls to SSL[_CTX]_set1_sigalgs() and
	    SSL[_CTX]_set1_client_sigalgs() that start with `?` character are
	    ignored and the configuration will still be used.
	  * Added `-set_issuer` and `-set_subject` options to `openssl x509` to
	    override the Issuer and Subject when creating a certificate. The `-subj`
	    option now is an alias for `-set_subject`.
	  * Added several new features of CMPv3 defined in RFC 9480 and RFC 9483
	  * New option `SSL_OP_PREFER_NO_DHE_KEX`, which allows configuring a TLS1.3
	    server to prefer session resumption using PSK-only key exchange over PSK
	    with DHE, if both are available.
	  * New atexit configuration switch, which controls whether the OPENSSL_cleanup
	    is registered when libcrypto is unloaded.
	  * Added X509_STORE_get1_objects to avoid issues with the existing
	    X509_STORE_get0_objects API in multi-threaded applications.
	This release incorporates the following potentially significant or incompatible
	changes:
	  * Applied AES-GCM unroll8 optimisation to Microsoft Azure Cobalt 100
	  * Optimized AES-CTR for ARM Neoverse V1 and V2
	  * Enable AES and SHA3 optimisations on Applie Silicon M3-based MacOS systems
	    similar to M1/M2.
	  * Various optimizations for cryptographic routines using RISC-V vector crypto
	    extensions
	  * Added assembly implementation for md5 on loongarch64
	  * Accept longer context for TLS 1.2 exporters
	  * The activate and soft_load configuration settings for providers in
	    openssl.cnf have been updated to require a value of [1|yes|true|on]
	    (in lower or UPPER case) to enable the setting. Conversely a value
	    of [0|no|false|off] will disable the setting.
	  * In `openssl speed`, changed the default hash function used with `hmac` from
	    `md5` to `sha256`.
	  * The `-verify` option to the `openssl crl` and `openssl req` will make the
	    program exit with 1 on failure.
	  * The d2i_ASN1_GENERALIZEDTIME(), d2i_ASN1_UTCTIME(), ASN1_TIME_check(), and
	    related functions have been augmented to check for a minimum length of
	    the input string, in accordance with ITU-T X.690 section 11.7 and 11.8.
	  * OPENSSL_sk_push() and sk_<TYPE>_push() functions now return 0 instead of -1
	    if called with a NULL stack argument.
	  * New limit on HTTP response headers is introduced to HTTP client. The
	    default limit is set to 256 header lines.
	This release incorporates the following bug fixes and mitigations:
	  * The BIO_get_new_index() function can only be called 127 times before it
	    reaches its upper bound of BIO_TYPE_MASK and will now return -1 once its
	    exhausted.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 09:10:28 +00:00
Michael Tremer
7b77ed8c94 core188: Ship the VLAN hotplug script
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-03 09:44:02 +00:00
Adolf Belka
0deeec6dd9 network-hotplug-vlan: Fix for bug 12676
- https://bugzilla.ipfire.org/show_bug.cgi?id=12676#c3

Suggested-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-03 09:43:41 +00:00
Michael Tremer
7ec26cb497 core188: Ship rrdtool
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-03 09:42:15 +00:00
Matthias Fischer
6f6c9f6b6a rrdtool: Update tp 1.9.0
For details see:
https://github.com/oetiker/rrdtool-1.x/releases/tag/v1.9.0

"RRDtool 1.9.0 — 2024-07-29
Bugfixes

    Fix ytop and ybase adjustments for overlaping area issue on transparent areas @turban
    Suppress warnings of implicit fall through @youpong
    Update tarball download link in doc @c72578
    Fix unsigned integer overflow in rrdtool first. Add test for rrd_first() @c72578
    Fix tests under MSYS2 (Windows) @c72578
    Fix BUILD_DATE in rrdtool help output @c72578
    acinclude.m4: Include <stdlib.h> when using exit @ryandesign
    rrdtool-release: Create NUMVERS from VERSION file @c72578
    Avoids leaking of file descriptors in multi threaded programs by @ensc
    Avoids potential unterminated string because of fixed PATH_MAX buffer
    Fix extra reference of parameters of rrd_fetch_dbi_{long,double} @jamborm"

Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-03 09:42:07 +00:00
Adolf Belka
31b10034e9 bird: Update to version 2.15.1
- Update from version 2.14 to 2.15.1
- Update of rootfile not required
- Changelog
    2.15.1
	  o OSPF: Fix regression in handling PtP links
	  o RPKI: Handle connection resets properly
	  o Static: Reject invalid combination of options
	  o Fix builds with limited set of protocols
    2.15
	  o BGP: Send hold timer
	  o BGP: New options to specify required BGP capabilities
	  o BFD: Improvements to 'show bfd sessions' command
	  o RPKI: New 'local address' configuration option
	  o Linux: Support for more route attributes, including
	    TCP congestion control algorithm
	  o Support for UDP logging
	  o Static routes can have both nexthop and interface specified
	  o Completion of command options in BIRD client
	  o Many bugfixes and improvements

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-03 09:41:57 +00:00
Michael Tremer
d54846e0a2 core188: Ship nasm
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-03 09:41:46 +00:00
Matthias Fischer
4e40a3e23f nasm: Update to 2.16.03
For details see:
https://nasm.us/doc/nasmdocc.html

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-03 09:41:32 +00:00
Michael Tremer
cf4b9118e3 make.sh: Show the packages that failed to download
https://lists.ipfire.org/hyperkitty/list/development@lists.ipfire.org/thread/VCTWCJKYKCGN7TUKMYWVJY3QUX4FIDT5/

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-02 17:56:17 +00:00
Michael Tremer
80de6b5647 vectorscan: Fix check for CPU support
According to the documentation, Vectorscan checks whether the CPU is
supporting the minimum requirement of SSE4.2. However the check is still
checking for SSSE3 which makes the library fail on systems without
SSE4.2.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-02 16:49:15 +00:00
Michael Tremer
d04dd6f2cd Config: Fix computing the package file size
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-02 16:48:59 +00:00
Michael Tremer
df84336ef8 Config: Use the correct variable for the package release
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-02 16:48:39 +00:00
Michael Tremer
ed2c97b799 Merge remote-tracking branch 'origin/next' into next 2024-07-24 16:40:47 +00:00
Michael Tremer
e8d2096c0b core188: Ship changed files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-24 16:40:15 +00:00
Michael Tremer
10210334fe Merge remote-tracking branch 'ms/cleanup' into next 2024-07-24 16:32:28 +00:00
Arne Fitzenreiter
6460dbbfc5 Merge branch 'master' into next 2024-07-23 21:59:26 +02:00
Arne Fitzenreiter
f08f55e6b4 core187: ship /usr/bin/unshare
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-07-23 17:29:42 +02:00
Arne Fitzenreiter
55f2a39cea util-linux: ship /usr/bin/unshare
the updated biuldscripts need unshare to build IPFire on IPFire systems.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-07-23 17:27:42 +02:00
Adolf Belka
e347899c16 nginx: Update to version 1.26.1
- Update from version 1.24.0 to 1.26.1
- Update of rootfile not required
- Version 1.24.0 is now a legacy version, no longer being supported. Stable version has
   changed to 1.26.x series.
- Various CVE fixes in 1.26.1 and in 1.25.4, the development branch that became 1.26.0,
   that the legacy version 1.24.0 is also vulnerable to.
- Changelog
    1.26.1
	    *) Security: when using HTTP/3, processing of a specially crafted QUIC
	       session might cause a worker process crash, worker process memory
	       disclosure on systems with MTU larger than 4096 bytes, or might have
	       potential other impact (CVE-2024-32760, CVE-2024-31079,
	       CVE-2024-35200, CVE-2024-34161).
	    *) Bugfix: reduced memory consumption for long-lived requests if "gzip",
	       "gunzip", "ssi", "sub_filter", or "grpc_pass" directives are used.
	    *) Bugfix: nginx could not be built by gcc 14 if the --with-atomic
	       option was used.
	    *) Bugfix: in HTTP/3.
    1.26.0
	    *) 1.26.x stable branch.
    1.25.5
	    *) Feature: virtual servers in the stream module.
	    *) Feature: the ngx_stream_pass_module.
	    *) Feature: the "deferred", "accept_filter", and "setfib" parameters of
	       the "listen" directive in the stream module.
	    *) Feature: cache line size detection for some architectures.
	    *) Feature: support for Homebrew on Apple Silicon.
	    *) Bugfix: Windows cross-compilation bugfixes and improvements.
	    *) Bugfix: unexpected connection closure while using 0-RTT in QUIC.
    1.25.4
	    *) Security: when using HTTP/3 a segmentation fault might occur in a
	       worker process while processing a specially crafted QUIC session
	       (CVE-2024-24989, CVE-2024-24990).
	    *) Bugfix: connections with pending AIO operations might be closed
	       prematurely during graceful shutdown of old worker processes.
	    *) Bugfix: socket leak alerts no longer logged when fast shutdown was
	       requested after graceful shutdown of old worker processes.
	    *) Bugfix: a socket descriptor error, a socket leak, or a segmentation
	       fault in a worker process (for SSL proxying) might occur if AIO was
	       used in a subrequest.
	    *) Bugfix: a segmentation fault might occur in a worker process if SSL
	       proxying was used along with the "image_filter" directive and errors
	       with code 415 were redirected with the "error_page" directive.
	    *) Bugfixes and improvements in HTTP/3.
    1.25.3
	    *) Change: improved detection of misbehaving clients when using HTTP/2.
	    *) Feature: startup speedup when using a large number of locations.
	       Thanks to Yusuke Nojima.
	    *) Bugfix: a segmentation fault might occur in a worker process when
	       using HTTP/2 without SSL; the bug had appeared in 1.25.1.
	    *) Bugfix: the "Status" backend response header line with an empty
	       reason phrase was handled incorrectly.
	    *) Bugfix: memory leak during reconfiguration when using the PCRE2
	       library.
	    *) Bugfixes and improvements in HTTP/3.
    1.25.2
	    *) Feature: path MTU discovery when using HTTP/3.
	    *) Feature: TLS_AES_128_CCM_SHA256 cipher suite support when using
	       HTTP/3.
	    *) Change: now nginx uses appname "nginx" when loading OpenSSL
	       configuration.
	    *) Change: now nginx does not try to load OpenSSL configuration if the
	       --with-openssl option was used to built OpenSSL and the OPENSSL_CONF
	       environment variable is not set.
	    *) Bugfix: in the $body_bytes_sent variable when using HTTP/3.
	    *) Bugfix: in HTTP/3.
    1.25.1
	    *) Feature: the "http2" directive, which enables HTTP/2 on a per-server
	       basis; the "http2" parameter of the "listen" directive is now
	       deprecated.
	    *) Change: HTTP/2 server push support has been removed.
	    *) Change: the deprecated "ssl" directive is not supported anymore.
	    *) Bugfix: in HTTP/3 when using OpenSSL.
    1.25.0
	    *) Feature: experimental HTTP/3 support.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:21 +00:00
Michael Tremer
1801e0671f core188: Ship apache2
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:21 +00:00
Matthias Fischer
e001c59719 apache: Update to 2.4.62
"All good things go by three..."

For details see:
https://dlcdn.apache.org/httpd/CHANGES_2.4.62

"Changes with Apache 2.4.62

  *) SECURITY: CVE-2024-40898: Apache HTTP Server: SSRF with
     mod_rewrite in server/vhost context on Windows (cve.mitre.org)
     SSRF in Apache HTTP Server on Windows with mod_rewrite in
     server/vhost context, allows to potentially leak NTML hashes to
     a malicious server via SSRF and malicious requests.
     Users are recommended to upgrade to version 2.4.62 which fixes
     this issue.
     Credits: Smi1e (DBAPPSecurity Ltd.)

  *) SECURITY: CVE-2024-40725: Apache HTTP Server: source code
     disclosure with handlers configured via AddType (cve.mitre.org)
     A partial fix for  CVE-2024-39884 in the core of Apache HTTP
     Server 2.4.61 ignores some use of the legacy content-type based
     configuration of handlers. "AddType" and similar configuration,
     under some circumstances where files are requested indirectly,
     result in source code disclosure of local content. For example,
     PHP scripts may be served instead of interpreted.
     Users are recommended to upgrade to version 2.4.62, which fixes
     this issue.

  *) mod_proxy: Fix canonicalisation and FCGI env (PATH_INFO, SCRIPT_NAME) for
     "balancer:" URLs set via SetHandler, also allowing for "unix:" sockets
     with BalancerMember(s).  PR 69168.  [Yann Ylavic]

  *) mod_proxy: Avoid AH01059 parsing error for SetHandler "unix:" URLs.
     PR 69160 [Yann Ylavic]

  *) mod_ssl: Fix crashes in PKCS#11 ENGINE support with OpenSSL 3.2.
     [Joe Orton]

  *) mod_ssl: Add support for loading certs/keys from pkcs11: URIs
     via OpenSSL 3.x providers.  [Ingo Franzki <ifranzki linux.ibm.com>]

  *) mod_ssl: Restore SSL dumping on trace7 loglevel with OpenSSL >= 3.0.
     [Ruediger Pluem, Yann Ylavic]

  *) mpm_worker: Fix possible warning (AH00045) about children processes not
     terminating timely.  [Yann Ylavic]"

Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
Reviewed-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:21 +00:00
Adolf Belka
a893eebb91 mpd: Patch mpd to deal with format function being const in fmt-11.0.0 onwards
- Commit has been made in mpd but no release has yet been made with the change. When the
   next version release of mpd occurs this patch can be removed.
- The patch changes all format calls to be const . Without this patch mpd will not build
   with fmt-11.0.0 or newer.
- Update of rootfile not required.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:21 +00:00
Adolf Belka
6c0e02c80d fmt: Update to version 11.0.1
- Update from version 10.2.1 to 11.0.1
- Update of rootfile
- fmt from version 11.0.0 onwards has made the format function a constant. This was done to
   enforce that formatter::format is const for compatibility with std::format.
- Changelog
    11.0.1
	Fixed version number in the inline namespace (#4047).
	Fixed disabling Unicode support via CMake (#4051).
	Fixed deprecated visit_format_arg (#4043).
	Fixed handling of a sign and improved the std::complex formater (#4034, #4050).
	Removed a redundant check in the formatter for std::expected (#4040).
    11.0.0
	Added fmt/base.h which provides a subset of the API with minimal include
	 dependencies and enough functionality to replace all uses of the printf family
	 of functions. This brings the compile time of code using {fmt} much closer to
	 the equivalent printf code.
	 This gives almost 4x improvement in build speed compared to version 10. Note
	 that the benchmark is purely formatting code and includes. In real projects the
	 difference from printf will be smaller partly because common standard headers
	 will be included in almost any translation unit (TU) anyway. In particular, in
	 every case except printf above ~1s is spent in total on including <type_traits>
	 in all TUs.
	Optimized includes in other headers such as fmt/format.h which is now roughly
	 equivalent to the old fmt/core.h in terms of build speed.
	Migrated the documentation at https://fmt.dev/ from Sphinx to MkDocs.
	Improved C++20 module support (#3990, #3991, #3993, #3994, #3997, #3998, #4004,
	 #4005, #4006, #4013, #4027, #4029). In particular, native CMake support for
	 modules is now used if available.
	Added an option to replace standard includes with import std enabled via the
	 FMT_IMPORT_STD macro (#3921, #3928).
	Exported fmt::range_format, fmt::range_format_kind and fmt::compiled_string from
	 the fmt module (#3970, #3999).
	Improved integration with stdio in fmt::print, enabling direct writes into a C
	 stream buffer in common cases. This may give significant performance
	 improvements ranging from tens of percent to 2x and eliminates dynamic memory
	 allocations on the buffer level. It is currently enabled for built-in and
	 string types with wider availability coming up in future releases.
	 For example, it gives ~24% improvement on a simple benchmark compiled with
	 Apple clang version 15.0.0 (clang-1500.1.0.2.5) and run on macOS 14.2.1
	Improved safety of fmt::format_to when writing to an array (#3805). For example
	 (godbolt):
		auto volkswagen = char[4];
		auto result = fmt::format_to(volkswagen, "elephant");
	 no longer results in a buffer overflow. Instead the output will be truncated
	 and you can get the end iterator and whether truncation occurred from the
	 result object.
	Enabled Unicode support by default in MSVC, bringing it on par with other
	 compilers and making it unnecessary for users to enable it explicitly. Most of
	 {fmt} is encoding-agnostic but this prevents mojibake in places where encoding
	 matters such as path formatting and terminal output. You can control the
	 Unicode support via the CMake FMT_UNICODE option. Note that some {fmt} packages
	 such as the one in vcpkg have already been compiled with Unicode enabled.
	Added a formatter for std::expected (#3834).
	Added a formatter for std::complex (#1467, #3886, #3892, #3900).
	Added a formatter for std::type_info (#3978).
	Specialized formatter for std::basic_string types with custom traits and
	 allocators (#3938, #3943).
	Added formatters for std::chrono::day, std::chrono::month, std::chrono::year and
	 std::chrono::year_month_day (#3758, #3772, #3906, #3913).
	Fixed handling of precision in %S (#3794, #3814). Thanks @js324.
	Added support for the - specifier (glibc strftime extension) to day of the month
	 (%d) and week of the year (%W, %U, %V) specifiers (#3976).
	Fixed the scope of the - extension in chrono formatting so that it doesn't apply
	 to subsequent specifiers (#3811, #3812).
	Improved handling of time_point::min() (#3282).
	Added support for character range formatting (#3857, #3863).
	Added string and debug_string range formatters (#3973, #4024).
	Enabled ADL for begin and end in fmt::join (#3813, #3824).
	Made contiguous iterator optimizations apply to std::basic_string iterators
	 (#3798).
	Added support for ranges with mutable begin and end (#3752, #3800, #3955).
	Added support for move-only iterators to fmt::join (#3802, #3946).
	Moved range and iterator overloads of fmt::join to fmt/ranges.h, next to other
	 overloads.
	Fixed handling of types with begin returning void such as Eigen matrices (#3839,
	 #3964).
	Added an fmt::formattable concept (#3974).
	Added support for __float128 (#3494).
	Fixed rounding issues when formatting long double with fixed precision (#3539).
	Made fmt::isnan not trigger floating-point exception for NaN values (#3948, #3951).
	Removed dependency on <memory> for std::allocator_traits when possible (#3804).
	Enabled compile-time checks in formatting functions that take text colors and
	 styles.
	Deprecated wide stream overloads of fmt::print that take text styles.
	Made format string compilation work with clang 12 and later despite only partial
	 non-type template parameter support (#4000, #4001).
	Made fmt::iterator_buffer's move constructor noexcept (#3808).
	Started enforcing that formatter::format is const for compatibility with
	 std::format (#3447).
	Added fmt::basic_format_arg::visit and deprecated fmt::visit_format_arg.
	Made fmt::basic_string_view not constructible from nullptr for consistency with
	 std::string_view in C++23 (#3846).
	Fixed fmt::group_digits for negative integers (#3891, #3901).
	Fixed handling of negative ids in fmt::basic_format_args::get (#3945).
	Improved named argument validation (#3817).
	Disabled copy construction/assignment for fmt::format_arg_store and fixed moved
	 construction (#3833).
	Worked around a locale issue in RHEL/devtoolset (#3858, #3859).
	Added RTTI detection for MSVC (#3821, #3963).
	Migrated the documentation from Sphinx to MkDocs.
	Improved documentation and README.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:21 +00:00