diff --git a/config/rootfiles/packages/transmission b/config/rootfiles/packages/transmission
index 66b832e3c..a248aea20 100644
--- a/config/rootfiles/packages/transmission
+++ b/config/rootfiles/packages/transmission
@@ -6,6 +6,7 @@ usr/bin/transmission-daemon
 usr/bin/transmission-edit
 usr/bin/transmission-remote
 usr/bin/transmission-show
+usr/lib/systemd/system/transmission-daemon.service
 usr/share/transmission
 #usr/share/transmission/public_html
 #usr/share/transmission/public_html/images
@@ -14,6 +15,8 @@ usr/share/transmission
 #usr/share/transmission/public_html/images/webclip-icon.png
 #usr/share/transmission/public_html/index.html
 #usr/share/transmission/public_html/transmission-app.css
+#usr/share/transmission/public_html/transmission-app.css.LEGAL.txt
+#usr/share/transmission/public_html/transmission-app.css.map
 #usr/share/transmission/public_html/transmission-app.js
 #usr/share/transmission/public_html/transmission-app.js.LEGAL.txt
 var/ipfire/backup/addons/includes/transmission
diff --git a/lfs/transmission b/lfs/transmission
index bbc8de19c..e93bca069 100644
--- a/lfs/transmission
+++ b/lfs/transmission
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2025  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2026  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -26,7 +26,7 @@ include Config
 
 SUMMARY    = A BitTorrent client with multiple UIs
 
-VER        = 4.0.5
+VER        = 4.1.1
 
 THISAPP    = transmission-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -34,7 +34,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = transmission
-PAK_VER    = 26
+PAK_VER    = 27
 
 DEPS       =
 
@@ -48,7 +48,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 60caa3bc615137b225d3ac3f25daa352c6960fcc848c91e5ea45488ae109d93b53e314e4683bd7c4ef3f9b2f364d796b6c5bb014ca647d3f44fb5c9df9f8c997
+$(DL_FILE)_BLAKE2 = ad0062b1838662a023dec0872154193e1e548f6e88d4939b3ce4c31714b91692674aa6918d10b451e4a72dbb869473292b3120de70d2d8d594697e5e9812b477
 
 install : $(TARGET)
 
@@ -81,7 +81,6 @@ $(subst %,%_BLAKE2,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
-	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/transmission-4.0.5-allow_build_with_cmake-4.0.x.patch
 	cd $(DIR_APP) && cmake . \
 			-DCMAKE_INSTALL_PREFIX=/usr \
 			-DCMAKE_BUILD_TYPE=Release \
diff --git a/src/patches/transmission-4.0.5-allow_build_with_cmake-4.0.x.patch b/src/patches/transmission-4.0.5-allow_build_with_cmake-4.0.x.patch
deleted file mode 100644
index 8dbb3d37d..000000000
--- a/src/patches/transmission-4.0.5-allow_build_with_cmake-4.0.x.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-diff -Naur transmission-4.0.5.orig/third-party/dht/CMakeLists.txt transmission-4.0.5/third-party/dht/CMakeLists.txt
---- transmission-4.0.5.orig/third-party/dht/CMakeLists.txt	2023-12-07 00:14:35.000000000 +0100
-+++ transmission-4.0.5/third-party/dht/CMakeLists.txt	2025-05-08 21:06:46.228619936 +0200
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 2.8)
-+cmake_minimum_required(VERSION 3.10)
- project(dht C)
- 
- add_library(${PROJECT_NAME} STATIC
-diff -Naur transmission-4.0.5.orig/third-party/fast_float/CMakeLists.txt transmission-4.0.5/third-party/fast_float/CMakeLists.txt
---- transmission-4.0.5.orig/third-party/fast_float/CMakeLists.txt	2023-12-07 00:14:35.000000000 +0100
-+++ transmission-4.0.5/third-party/fast_float/CMakeLists.txt	2025-05-08 21:07:00.907066965 +0200
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.9)
-+cmake_minimum_required(VERSION 3.10)
- 
- project(fast_float VERSION 3.4.0 LANGUAGES CXX)
- option(FASTFLOAT_TEST "Enable tests" OFF)
-diff -Naur transmission-4.0.5.orig/third-party/fmt/CMakeLists.txt transmission-4.0.5/third-party/fmt/CMakeLists.txt
---- transmission-4.0.5.orig/third-party/fmt/CMakeLists.txt	2023-12-07 00:14:35.000000000 +0100
-+++ transmission-4.0.5/third-party/fmt/CMakeLists.txt	2025-05-08 21:07:41.135292083 +0200
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.1...3.18)
-+cmake_minimum_required(VERSION 3.10...3.18)
- 
- # Fallback for using newer policies on CMake <3.12.
- if(${CMAKE_VERSION} VERSION_LESS 3.12)
-diff -Naur transmission-4.0.5.orig/third-party/googletest/CMakeLists.txt transmission-4.0.5/third-party/googletest/CMakeLists.txt
---- transmission-4.0.5.orig/third-party/googletest/CMakeLists.txt	2023-12-07 00:14:35.000000000 +0100
-+++ transmission-4.0.5/third-party/googletest/CMakeLists.txt	2025-05-08 21:08:06.835074741 +0200
-@@ -1,7 +1,7 @@
- # Note: CMake support is community-based. The maintainers do not use CMake
- # internally.
- 
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.10)
- 
- if (POLICY CMP0048)
-   cmake_policy(SET CMP0048 NEW)
-diff -Naur transmission-4.0.5.orig/third-party/libb64/CMakeLists.txt transmission-4.0.5/third-party/libb64/CMakeLists.txt
---- transmission-4.0.5.orig/third-party/libb64/CMakeLists.txt	2023-12-07 00:14:35.000000000 +0100
-+++ transmission-4.0.5/third-party/libb64/CMakeLists.txt	2025-05-08 21:08:40.035085810 +0200
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
-+cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
- project(libb64 VERSION 2.0.0 LANGUAGES C)
- 
- set(LIBB64_STANDALONE_BUILD OFF)
-diff -Naur transmission-4.0.5.orig/third-party/libdeflate/CMakeLists.txt transmission-4.0.5/third-party/libdeflate/CMakeLists.txt
---- transmission-4.0.5.orig/third-party/libdeflate/CMakeLists.txt	2023-12-07 00:14:35.000000000 +0100
-+++ transmission-4.0.5/third-party/libdeflate/CMakeLists.txt	2025-05-08 21:08:58.870659428 +0200
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.7)
-+cmake_minimum_required(VERSION 3.10)
- 
- # Default to a release build.
- if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
-diff -Naur transmission-4.0.5.orig/third-party/libevent/CMakeLists.txt transmission-4.0.5/third-party/libevent/CMakeLists.txt
---- transmission-4.0.5.orig/third-party/libevent/CMakeLists.txt	2023-12-07 00:14:35.000000000 +0100
-+++ transmission-4.0.5/third-party/libevent/CMakeLists.txt	2025-05-08 21:09:27.056517789 +0200
-@@ -19,7 +19,7 @@
- #       start libevent.sln
- #
- 
--cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
-+cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
- 
- if (POLICY CMP0054)
-     cmake_policy(SET CMP0054 NEW)
-diff -Naur transmission-4.0.5.orig/third-party/libnatpmp/CMakeLists.txt transmission-4.0.5/third-party/libnatpmp/CMakeLists.txt
---- transmission-4.0.5.orig/third-party/libnatpmp/CMakeLists.txt	2023-12-07 00:14:35.000000000 +0100
-+++ transmission-4.0.5/third-party/libnatpmp/CMakeLists.txt	2025-05-08 21:09:46.043096005 +0200
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 2.8)
-+cmake_minimum_required(VERSION 3.10)
- project(natpmp C)
- 
- add_definitions(-DNATPMP_STATICLIB -DENABLE_STRNATPMPERR)
-diff -Naur transmission-4.0.5.orig/third-party/libpsl/CMakeLists.txt transmission-4.0.5/third-party/libpsl/CMakeLists.txt
---- transmission-4.0.5.orig/third-party/libpsl/CMakeLists.txt	2023-12-07 00:14:35.000000000 +0100
-+++ transmission-4.0.5/third-party/libpsl/CMakeLists.txt	2025-05-08 21:09:59.844516650 +0200
-@@ -2,7 +2,7 @@
- # This is just the minimum subset needed for building an embedded
- # static library into Transmission.
- 
--cmake_minimum_required(VERSION 3.0)
-+cmake_minimum_required(VERSION 3.10)
- 
- project(psl
-   VERSION 0.21.1.0 # when changing this, must set LIBPSL_VERSION_NUMBER too
-diff -Naur transmission-4.0.5.orig/third-party/libutp/CMakeLists.txt transmission-4.0.5/third-party/libutp/CMakeLists.txt
---- transmission-4.0.5.orig/third-party/libutp/CMakeLists.txt	2023-12-07 00:14:36.000000000 +0100
-+++ transmission-4.0.5/third-party/libutp/CMakeLists.txt	2025-05-08 21:10:25.155290353 +0200
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
-+cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
- project(libutp VERSION 3.4 LANGUAGES C CXX)
- 
- set(LIBUTP_STANDALONE_BUILD OFF)
-diff -Naur transmission-4.0.5.orig/third-party/miniupnpc/CMakeLists.txt transmission-4.0.5/third-party/miniupnpc/CMakeLists.txt
---- transmission-4.0.5.orig/third-party/miniupnpc/CMakeLists.txt	2023-12-07 00:14:36.000000000 +0100
-+++ transmission-4.0.5/third-party/miniupnpc/CMakeLists.txt	2025-05-08 21:10:44.852892384 +0200
-@@ -1,4 +1,4 @@
--cmake_minimum_required (VERSION 2.6)
-+cmake_minimum_required (VERSION 3.10)
- 
- project (miniupnpc C)
- set (MINIUPNPC_VERSION 2.0)
-diff -Naur transmission-4.0.5.orig/third-party/utfcpp/CMakeLists.txt transmission-4.0.5/third-party/utfcpp/CMakeLists.txt
---- transmission-4.0.5.orig/third-party/utfcpp/CMakeLists.txt	2023-12-07 00:14:36.000000000 +0100
-+++ transmission-4.0.5/third-party/utfcpp/CMakeLists.txt	2025-05-08 21:10:59.986354870 +0200
-@@ -1,4 +1,4 @@
--cmake_minimum_required (VERSION 3.0.2)
-+cmake_minimum_required (VERSION 3.10)
- project (utf8cpp VERSION 3.2 LANGUAGES CXX)
- 
- if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
diff --git a/src/patches/transmission-4.0.6-fix_for_miniupnpc-2.2.8.patch b/src/patches/transmission-4.0.6-fix_for_miniupnpc-2.2.8.patch
deleted file mode 100644
index 3426d13bc..000000000
--- a/src/patches/transmission-4.0.6-fix_for_miniupnpc-2.2.8.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From febfe49ca3ecab1a7142ecb34012c1f0b2bcdee8 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?C=C5=93ur?= <coeur@gmx.fr>
-Date: Sat, 15 Jun 2024 07:24:06 +0800
-Subject: [PATCH] bump miniupnpc to 2.2.8 (#6907)
-
-* bump miniupnpc to 2.2.8
-
-* Avoid build error "ln: include/miniupnpc/.: Operation not permitted"
----
- Transmission.xcodeproj/project.pbxproj  | 2 +-
- libtransmission/port-forwarding-upnp.cc | 9 +++++++--
- third-party/miniupnp                    | 2 +-
- 3 files changed, 9 insertions(+), 4 deletions(-)
-
-diff --git a/libtransmission/port-forwarding-upnp.cc b/libtransmission/port-forwarding-upnp.cc
-index 6d7bbc7f7c2..a4146e0df13 100644
---- a/libtransmission/port-forwarding-upnp.cc
-+++ b/libtransmission/port-forwarding-upnp.cc
-@@ -261,8 +261,13 @@ tr_port_forwarding_state tr_upnpPulse(
- 
-         FreeUPNPUrls(&handle->urls);
-         auto lanaddr = std::array<char, TR_ADDRSTRLEN>{};
--        if (UPNP_GetValidIGD(devlist, &handle->urls, &handle->data, std::data(lanaddr), std::size(lanaddr) - 1) ==
--            UPNP_IGD_VALID_CONNECTED)
-+        if (
-+#if (MINIUPNPC_API_VERSION >= 18)
-+            UPNP_GetValidIGD(devlist, &handle->urls, &handle->data, std::data(lanaddr), std::size(lanaddr) - 1, nullptr, 0)
-+#else
-+            UPNP_GetValidIGD(devlist, &handle->urls, &handle->data, std::data(lanaddr), std::size(lanaddr) - 1)
-+#endif
-+            == UPNP_IGD_VALID_CONNECTED)
-         {
-             tr_logAddInfo(fmt::format(_("Found Internet Gateway Device '{url}'"), fmt::arg("url", handle->urls.controlURL)));
-             tr_logAddInfo(fmt::format(_("Local Address is '{address}'"), fmt::arg("address", lanaddr.data())));
