diff --git a/.curl.metadata b/.curl.metadata
index c8a76f70686419b5cd9646a4bcde7fe9808c644f..ee59c97c58e1d04fbfb8c7c980a4b4db4ce14e87 100644
--- a/.curl.metadata
+++ b/.curl.metadata
@@ -1,2 +1 @@
-f292f6cc051d5bbabf725ef85d432dfeacc8711dd717ea97612ae590643801e5 SOURCES/curl-8.9.1.tar.xz
-64619d3c1a2b68da837014b2ab02a049ed2c69aaebfa10a20a4f29dab003ecb8 SOURCES/mykey.asc
+0341f1ed97a26c811abaebd37d62b833956792b7607ea3f15d001613c76de202 SOURCES/curl-8.12.1.tar.xz
diff --git a/SOURCES/0101-curl-7.32.0-multilib.patch b/SOURCES/0101-curl-7.32.0-multilib.patch
index 9ea1b2087fa15ab850662787afb11f6d535e85e3..0f902265f9c023d3d8b97b74b8e0f082f61256b0 100644
--- a/SOURCES/0101-curl-7.32.0-multilib.patch
+++ b/SOURCES/0101-curl-7.32.0-multilib.patch
@@ -1,56 +1,56 @@
-From 84b7e1cf486761e99361f5dcf5879cd7baf51b58 Mon Sep 17 00:00:00 2001
+From da51b3d89a33fb3a1cbc5dd5faebc4ee18bbcc46 Mon Sep 17 00:00:00 2001
 From: Jan Macku <jamacku@redhat.com>
-Date: Thu, 1 Feb 2024 13:01:23 +0100
-Subject: [PATCH 2/2] prevent multilib conflicts on the curl-config script
+Date: Wed, 11 Sep 2024 09:21:25 +0200
+Subject: [PATCH] prevent multilib conflicts on the curl-config script
 
 ---
- curl-config.in     | 23 +++++------------------
- docs/curl-config.1 |  4 +++-
- libcurl.pc.in      |  1 +
+ curl-config.in      | 23 +++++------------------
+ docs/curl-config.md |  4 +++-
+ libcurl.pc.in       |  1 +
  3 files changed, 9 insertions(+), 19 deletions(-)
 
 diff --git a/curl-config.in b/curl-config.in
-index 54f92d9..15a60da 100644
+index 294e083..df41899 100644
 --- a/curl-config.in
 +++ b/curl-config.in
-@@ -78,7 +78,7 @@ while test $# -gt 0; do
+@@ -75,7 +75,7 @@ while test "$#" -gt 0; do
      ;;
  
    --cc)
 -    echo '@CC@'
-+    echo "gcc"
++    echo 'gcc'
      ;;
  
    --prefix)
-@@ -157,33 +157,20 @@ while test $# -gt 0; do
+@@ -155,16 +155,7 @@ while test "$#" -gt 0; do
      ;;
  
    --libs)
--    if test "X@libdir@" != "X/usr/lib" -a "X@libdir@" != "X/usr/lib64"; then
--      CURLLIBDIR="-L@libdir@ "
+-    if test "X@libdir@" != 'X/usr/lib' -a "X@libdir@" != 'X/usr/lib64'; then
+-      curllibdir="-L@libdir@ "
 -    else
--      CURLLIBDIR=""
+-      curllibdir=''
 -    fi
--    if test "X@ENABLE_SHARED@" = "Xno"; then
--      echo "${CURLLIBDIR}-lcurl @LIBCURL_LIBS@"
+-    if test 'X@ENABLE_SHARED@' = 'Xno'; then
+-      echo "${curllibdir}-lcurl @LIBCURL_PC_LIBS_PRIVATE@"
 -    else
--      echo "${CURLLIBDIR}-lcurl"
+-      echo "${curllibdir}-lcurl"
 -    fi
-+    echo -lcurl
++    echo '-lcurl'
      ;;
  
    --ssl-backends)
-     echo '@SSL_BACKENDS@'
+@@ -172,16 +163,12 @@ while test "$#" -gt 0; do
      ;;
  
    --static-libs)
--    if test "X@ENABLE_STATIC@" != "Xno" ; then
--      echo "@libdir@/libcurl.@libext@" @LDFLAGS@ @LIBCURL_LIBS@
+-    if test 'X@ENABLE_STATIC@' != 'Xno'; then
+-      echo "@libdir@/libcurl.@libext@ @LIBCURL_PC_LDFLAGS_PRIVATE@ @LIBCURL_PC_LIBS_PRIVATE@"
 -    else
 -      echo 'curl was built with static libraries disabled' >&2
 -      exit 1
 -    fi
-+    echo "curl was built with static libraries disabled" >&2
++    echo 'curl was built with static libraries disabled' >&2
 +    exit 1
      ;;
  
@@ -60,11 +60,11 @@ index 54f92d9..15a60da 100644
      ;;
  
    *)
-diff --git a/docs/curl-config.1 b/docs/curl-config.1
-index c142cb9..0e189b4 100644
+diff --git a/docs/curl-config.md b/docs/curl-config.md
+index 4dfaab6..f4e847e 100644
 --- a/docs/curl-config.md
 +++ b/docs/curl-config.md
-@@ -48,7 +48,9 @@ no, one or several names. If more than one name, they will appear
+@@ -87,7 +87,9 @@ no, one or several names. If more than one name, they appear comma-separated.
  ## --static-libs
  
  Shows the complete set of libs and other linker options you need in order to
@@ -76,10 +76,10 @@ index c142cb9..0e189b4 100644
  ## --version
  
 diff --git a/libcurl.pc.in b/libcurl.pc.in
-index 9db6b0f..dcac692 100644
+index 8f6f9b4..f69815c 100644
 --- a/libcurl.pc.in
 +++ b/libcurl.pc.in
-@@ -31,6 +31,7 @@ libdir=@libdir@
+@@ -28,6 +28,7 @@ libdir=@libdir@
  includedir=@includedir@
  supported_protocols="@SUPPORT_PROTOCOLS@"
  supported_features="@SUPPORT_FEATURES@"
@@ -88,5 +88,5 @@ index 9db6b0f..dcac692 100644
  Name: libcurl
  URL: https://curl.se/
 -- 
-2.43.0
+2.46.0
 
diff --git a/SOURCES/0102-curl-8.12.1-lt-curl-mismatch.patch b/SOURCES/0102-curl-8.12.1-lt-curl-mismatch.patch
new file mode 100644
index 0000000000000000000000000000000000000000..d8f33486f18b236985f31fcd74984d80080e7482
--- /dev/null
+++ b/SOURCES/0102-curl-8.12.1-lt-curl-mismatch.patch
@@ -0,0 +1,11 @@
+--- a/scripts/completion.pl	2025-03-24 11:39:22.649337303 +0100
++++ b/scripts/completion.pl	2025-03-24 11:39:49.595969960 +0100
+@@ -143,7 +143,7 @@
+ 
+ sub call_curl {
+     my ($cmd) = @_;
+-    my $output = `"$curl" $cmd`;
++    my $output = `LD_LIBRARY_PATH=../lib/.libs "$curl" $cmd`;
+     if ($? == -1) {
+         die "Could not run curl: $!";
+     } elsif ((my $exit_code = $? >> 8) != 0) {
diff --git a/SOURCES/0105-curl-8.11.1-test616.patch b/SOURCES/0105-curl-8.11.1-test616.patch
new file mode 100644
index 0000000000000000000000000000000000000000..91bde80b538f6afac61d8be9769580abf45b5ed1
--- /dev/null
+++ b/SOURCES/0105-curl-8.11.1-test616.patch
@@ -0,0 +1,48 @@
+From 82baec8c7cd40361585d8793dfe4531f7aad30e3 Mon Sep 17 00:00:00 2001
+From: Jan Macku <jamacku@redhat.com>
+Date: Wed, 11 Dec 2024 13:16:12 +0100
+Subject: [PATCH] test616: disable valgrind
+
+Valgrind disable was removed in upstream in https://github.com/curl/curl/commit/c91c37b6e87ceee760b7bb334c8e97e03ee93e93#diff-e01fd8774cf5b26329c7dc7dc03ec49745469205f3d501ced72c9d133455d5e7L35
+But test 616 is still failing under valgrind, so disable valgrind for this test.
+
+```
+ valgrind ERROR ==188588== 144 bytes in 1 blocks are definitely lost in loss record 1 of 1
+==188588==    at 0x484B133: calloc (vg_replace_malloc.c:1675)
+==188588==    by 0x4BB7575: ??? (in /usr/lib64/libssh.so.4.10.1)
+==188588==    by 0x4BB8CC6: sftp_fstat (in /usr/lib64/libssh.so.4.10.1)
+==188588==    by 0x48EEAFB: myssh_statemach_act (libssh.c:1610)
+==188588==    by 0x48F1B9D: myssh_multi_statemach.lto_priv.0 (libssh.c:2095)
+==188588==    by 0x48BA971: UnknownInlinedFun (multi.c:1643)
+==188588==    by 0x48BA971: UnknownInlinedFun (multi.c:2314)
+==188588==    by 0x48BA971: multi_runsingle (multi.c:2768)
+==188588==    by 0x48BCCA4: curl_multi_perform (multi.c:3016)
+==188588==    by 0x4884E4A: UnknownInlinedFun (easy.c:701)
+==188588==    by 0x4884E4A: UnknownInlinedFun (easy.c:796)
+==188588==    by 0x4884E4A: curl_easy_perform (easy.c:815)
+==188588==    by 0x10C12B: UnknownInlinedFun (tool_operate.c:2902)
+==188588==    by 0x10C12B: UnknownInlinedFun (tool_operate.c:3127)
+==188588==    by 0x10C12B: UnknownInlinedFun (tool_operate.c:3249)
+==188588==    by 0x10C12B: main (tool_main.c:271)
+==188588==
+```
+---
+ tests/data/test616 | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/tests/data/test616 b/tests/data/test616
+index f76c68a..0ebc734 100644
+--- a/tests/data/test616
++++ b/tests/data/test616
+@@ -32,5 +32,8 @@ SFTP retrieval of empty file
+ #
+ # Verify data after the test has been "shot"
+ <verify>
++<valgrind>
++disable
++</valgrind>
+ </verify>
+ </testcase>
+-- 
+2.47.1
+
diff --git a/SOURCES/curl-8.12.1.tar.xz.asc b/SOURCES/curl-8.12.1.tar.xz.asc
new file mode 100644
index 0000000000000000000000000000000000000000..001d98bd6f0e68368f036357ac8af282ec23f905
--- /dev/null
+++ b/SOURCES/curl-8.12.1.tar.xz.asc
@@ -0,0 +1,11 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQEzBAABCgAdFiEEJ+3q8i86vOtQ25oSXMkI/bceEsIFAmetnEcACgkQXMkI/bce
+EsIwoAf9F1UCx5VBJxgSQ/375gOs2rcoMEjKhahRRJDBU/VMscX6VNOK3cnzj32Z
+ZtdC1ywGsPXdFNPi2Pwd9YDDqiDyn9donzwgNkKcoV5X/RGk2yTGhXfu+jjl7VI0
+9nbLZAtiZfc24CGc8qBDc5NT5DWw6vbYt3pXH+LqVTnjH8RgOkpfePcwHVxO2KhO
++ldMxcu3tkxzc3s/AfYRBooKnfepv6vGu+U+jDhhrJS2MOXiRe3Ahy/P9bagsKqW
+vJGa1yxFsshEWqfSPrcwAS9KAqK5ll+0AmZVyBtg0kcFD5OyDWcG/8J5Ek/AreBv
+iaA5AvoxF+ICPEXq/IFoDTaiTitgXA==
+=bYhe
+-----END PGP SIGNATURE-----
diff --git a/SOURCES/mykey.asc b/SOURCES/mykey.asc
new file mode 100644
index 0000000000000000000000000000000000000000..0c777216620413c664675cbad49b81eee8d94b04
--- /dev/null
+++ b/SOURCES/mykey.asc
@@ -0,0 +1,77 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v2
+
+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
+j/qx4ytjt5uxt6Jm6IXV9cry8i6x
+=Phs/
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/SPECS/curl.spec b/SPECS/curl.spec
index 68253122c74123973b46c46efd7531bea87e80c8..4047e00f35cb18a4157cabeaf686f316ad91de2a 100644
--- a/SPECS/curl.spec
+++ b/SPECS/curl.spec
@@ -1,7 +1,7 @@
 Summary: A utility for getting files from remote servers (FTP, HTTP, and others)
 Name: curl
-Version: 8.9.1
-Release: 5%{?dist}
+Version: 8.12.1
+Release: 1%{?dist}
 License: curl
 Source0: https://curl.se/download/%{name}-%{version}.tar.xz
 Source1: https://curl.se/download/%{name}-%{version}.tar.xz.asc
@@ -10,14 +10,14 @@ Source1: https://curl.se/download/%{name}-%{version}.tar.xz.asc
 # which points to the GPG key as of April 7th 2016 of https://daniel.haxx.se/mykey.asc
 Source2: mykey.asc
 
-# fix crashes with transmission due to SIGPIPE
-Patch001: 0001-curl-8.9.1-sigpipe-init-the-struct-so-that-first-apply-ignores.patch
-
 # patch making libcurl multilib ready
 Patch101: 0101-curl-7.32.0-multilib.patch
 
-# do not fail on warnings in the upstream test driver
-Patch102: 0102-curl-7.88.0-tests-warnings.patch
+# link against libcurl from buildroot during shell completions generation
+Patch102: 0102-curl-8.12.1-lt-curl-mismatch.patch
+
+# test616: disable valgrind
+Patch105: 0105-curl-8.11.1-test616.patch
 
 Provides: curl-full = %{version}-%{release}
 # do not fail when trying to install curl-minimal after drop
@@ -88,6 +88,7 @@ BuildRequires: perl(Exporter)
 BuildRequires: perl(File::Basename)
 BuildRequires: perl(File::Copy)
 BuildRequires: perl(File::Spec)
+BuildRequires: perl(I18N::Langinfo)
 BuildRequires: perl(IPC::Open2)
 BuildRequires: perl(List::Util)
 BuildRequires: perl(Memoize)
@@ -218,6 +219,10 @@ sed -e 's|^35$|35,52|' -i tests/data/test323
     eval "$cmd"
 )
 
+# avoid unnecessary arch-dependent line in the processed file
+sed -e '/# Used in @libdir@/d' \
+    -i curl-config.in
+
 # regenerate the configure script and Makefile.in files
 autoreconf -fiv
 
@@ -240,7 +245,7 @@ export common_configure_opts="          \
     --with-gssapi                       \
     --with-libidn2                      \
     --with-nghttp2                      \
-    --with-ssl --with-ca-bundle=%{_sysconfdir}/pki/tls/certs/ca-bundle.crt \
+    --with-ssl --with-ca-bundle=%{_sysconfdir}/pki/ca-trust/extracted/pem/tls-ca-bundle.pem \
     --with-zsh-functions-dir"
 
 %global _configure ../configure
@@ -256,7 +261,6 @@ export common_configure_opts="          \
         --disable-ldaps                 \
         --disable-mqtt                  \
         --disable-ntlm                  \
-        --disable-ntlm-wb               \
         --disable-pop3                  \
         --disable-rtsp                  \
         --disable-smb                   \
@@ -281,7 +285,6 @@ export common_configure_opts="          \
         --enable-ldaps                  \
         --enable-mqtt                   \
         --enable-ntlm                   \
-        --enable-ntlm-wb                \
         --enable-pop3                   \
         --enable-rtsp                   \
         --enable-smb                    \
@@ -348,27 +351,18 @@ install -m 644 docs/libcurl/libcurl.m4 $RPM_BUILD_ROOT%{_datadir}/aclocal
 cd build-full
 %make_install
 
-# install zsh completion for curl
-# (we have to override LD_LIBRARY_PATH because we eliminated rpath)
-LD_LIBRARY_PATH="$RPM_BUILD_ROOT%{_libdir}:$LD_LIBRARY_PATH" \
-    %make_install -C scripts
-
 # do not install /usr/share/fish/completions/curl.fish which is also installed
 # by fish-3.0.2-1.module_f31+3716+57207597 and would trigger a conflict
 rm -rf ${RPM_BUILD_ROOT}%{_datadir}/fish
 
 rm -f ${RPM_BUILD_ROOT}%{_libdir}/libcurl.la
 
-# Don't install man for mk-ca-bundle it's upstream bug
-# should be fixed in next release https://github.com/curl/curl/pull/12843
-rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mk-ca-bundle.1*
-
 %ldconfig_scriptlets -n libcurl
 
 %ldconfig_scriptlets -n libcurl-minimal
 
 %files
-%doc CHANGES
+%doc CHANGES.md
 %doc README
 %doc docs/BUGS.md
 %doc docs/FAQ
@@ -401,6 +395,12 @@ rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mk-ca-bundle.1*
 %{_libdir}/libcurl.so.4.[0-9].[0-9].minimal
 
 %changelog
+* Wed Mar 19 2025 Jacek Migacz <jmigacz@redhat.com> - 8.12.1-1
+- new upstream release (RHEL-84132)
+
+* Tue Nov 05 2024 Jacek Migacz <jmigacz@redhat.com> - 8.9.1-6
+- use tls-ca-bundle.pem instead of ca-bundle.crt (RHEL-56966)
+
 * Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 8.9.1-5
 - Bump release for October 2024 mass rebuild:
   Resolves: RHEL-64018