diff --git a/_service b/_service
index efdf445..ff9f1dc 100644
--- a/_service
+++ b/_service
@@ -1,15 +1,15 @@
-
+
https://github.com/dschep/ntfy.git
git
- v2.7.0
+ v2.7.1
@PARENT_TAG@
v(.*)
-
-
+
+
*.tar
xz
-
+
diff --git a/emoji-2.0-compatibility.patch b/emoji-2.0-compatibility.patch
deleted file mode 100644
index be756c2..0000000
--- a/emoji-2.0-compatibility.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From: Matthias Bach
-Date: Mon, 18 Jul 2022 20:53:11 +0200
-Subject: [PATCH] Add compatibility with emoji 2.0
-References: https://github.com/dschep/ntfy/pull/250
-Upstream: submitted
-
-Emoji deprecated the use_alias parameter in 1.6.2. This changes our use
-to the new API which exists since that version. Without this change,
-ntfy cannot be used with emoji 2.0 or higher.
----
- ntfy/cli.py | 2 +-
- setup.py | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/ntfy/cli.py b/ntfy/cli.py
-index 7dad0b2..41145fd 100644
---- a/ntfy/cli.py
-+++ b/ntfy/cli.py
-@@ -358,7 +358,7 @@ def main(cli_args=None):
- if message is None:
- return 0
- if emojize is not None and not args.no_emoji:
-- message = emojize(message, use_aliases=True)
-+ message = emojize(message, language='alias')
- return notify(
- message,
- args.title,
-diff --git a/setup.py b/setup.py
-index 1008f5f..f7321cd 100644
---- a/setup.py
-+++ b/setup.py
-@@ -12,7 +12,7 @@ extra_deps = {
- 'sleekxmpp', 'dnspython' if version_info[0] < 3 else 'dnspython3'],
- 'telegram': ['telegram-send'],
- 'instapush': ['instapush'],
-- 'emoji': ['emoji'],
-+ 'emoji': ['emoji >= 1.6.2'],
- 'pid':['psutil'],
- 'slack':['slacker'],
- 'rocketchat':['rocketchat-API'],
---
-2.35.3
-
diff --git a/ntfy-2.7.0.tar.xz b/ntfy-2.7.0.tar.xz
deleted file mode 100644
index a05074a..0000000
--- a/ntfy-2.7.0.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:527a4f81557d1209e614a694cbf2871965a911db6a1d76434926d4796f443c5b
-size 1749232
diff --git a/ntfy-2.7.1.tar.xz b/ntfy-2.7.1.tar.xz
new file mode 100644
index 0000000..cf27b62
--- /dev/null
+++ b/ntfy-2.7.1.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b673463d06a410544d27081fde3b088702e3fea36df2ab4998a54a26a73af2ce
+size 1743620
diff --git a/python-311-compat.patch b/python-311-compat.patch
deleted file mode 100644
index 8caf4d3..0000000
--- a/python-311-compat.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From: Matthias Bach
-Date: Sat, 7 Jan 2023 15:15:25 +0100
-Subject: [PATCH] Fix compatibility with Python 3.11
-References: https://github.com/dschep/ntfy/pull/271
-Upstream: submitted
-
-We had still been using the function inspect.getargspec() that had
-already been deprecated in Python 3.0.
-
-Switching to the equivalent inspect.getfullargspec() breaks
-compabitility with Python 2. However, as Python 2 is long dead we don't
-care about that.
----
- ntfy/__init__.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/ntfy/__init__.py b/ntfy/__init__.py
-index 0fa7a22..6ed0abb 100644
---- a/ntfy/__init__.py
-+++ b/ntfy/__init__.py
-@@ -3,7 +3,7 @@ from getpass import getuser
- from os import getcwd, path, name
- from socket import gethostname
- from importlib import import_module
--from inspect import getargspec
-+from inspect import getfullargspec
- from .backends.default import DefaultNotifierError
-
- __version__ = '2.7.0'
-@@ -65,7 +65,7 @@ def notify(message, title, config=None, **kwargs):
- notifier = e.module
- e = e.exception
-
-- args, _, _, defaults = getargspec(notifier.notify)
-+ args, _, _, defaults, *_ = getfullargspec(notifier.notify)
- possible_args = set(args)
- required_args = set(args) if defaults is None else set(args[:-len(defaults)])
- required_args -= set(['title', 'message', 'retcode'])
---
-2.35.3
-
diff --git a/python-312-compat.patch b/python-312-compat.patch
deleted file mode 100644
index bdf2be9..0000000
--- a/python-312-compat.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From: Matthias Bach
-Date: Wed, 3 Jan 2024 01:10:05 +0100
-Subject: [PATCH] Fix compatibility with Python 3.12
-References: https://github.com/dschep/ntfy/pull/271
-Upstream: submitted
-
-Unittest's assertEquals has finally been dropped in Python 3.12.
----
- tests/test_cli.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/test_cli.py b/tests/test_cli.py
-index c1341f3..4a87911 100644
---- a/tests/test_cli.py
-+++ b/tests/test_cli.py
-@@ -174,7 +174,7 @@ class TestMain(TestCase):
- @patch('ntfy.backends.default.notify')
- def test_args(self, mock_notify):
- mock_notify.return_value = None
-- self.assertEquals(0,
-+ self.assertEqual(0,
- ntfy_main([
- '-o', 'foo', 'bar', '-b', 'default', '-t',
- 'TITLE', 'send', 'test'
---
-2.35.3
-
diff --git a/python-ntfy.changes b/python-ntfy.changes
index 0e77c0c..9538708 100644
--- a/python-ntfy.changes
+++ b/python-ntfy.changes
@@ -1,3 +1,20 @@
+-------------------------------------------------------------------
+Tue Oct 28 20:25:23 UTC 2025 - Matthias Bach
+
+- Update to version 2.7.1
+ * Fix Matrix backend fails wheen trying to send messages with
+ unicode in them.
+ * Make theme icons available for linux backend.
+ * Swap Slacker for Slack SDK.
+ * Add compatibility with emoji 2.0.
+ * Compatility with Python 311, 3.12, and 3.13.
+- Drop emoji-2.0-compatibility.patch merged upstream.
+- Drop python-311-compat.patch merged upstream.
+- Drop python-312-compat.patch merged upstream.
+- Added a workaround for a test isolation issue affecting the
+ configuration tests.
+- Switch service file from old disabled to modern manual run mode.
+
-------------------------------------------------------------------
Mon Jun 9 12:37:08 UTC 2025 - Markéta Machová
diff --git a/python-ntfy.spec b/python-ntfy.spec
index c70a053..b10aad4 100644
--- a/python-ntfy.spec
+++ b/python-ntfy.spec
@@ -20,7 +20,7 @@
%bcond_without libalternatives
%{?sle15_python_module_pythons}
Name: python-ntfy
-Version: 2.7.0
+Version: 2.7.1
Release: 0
Summary: A utility for sending push notifications
License: GPL-3.0-only
@@ -29,10 +29,7 @@ URL: https://github.com/dschep/ntfy
Source: ntfy-%{version}.tar.xz
# https://github.com/dschep/ntfy/issues/247
Patch0: python-ntfy-no-mock.patch
-Patch1: emoji-2.0-compatibility.patch
Patch2: drop-misleading-shebangs.patch
-Patch3: python-311-compat.patch
-Patch4: python-312-compat.patch
BuildRequires: %{python_module appdirs}
# test requirements
BuildRequires: %{python_module emoji >= 1.6.2}
@@ -55,7 +52,7 @@ Suggests: python-emoji >= 1.6.2
Suggests: python-instapush
Suggests: python-psutil
Suggests: python-rocketchat-API
-Suggests: python-slacker
+Suggests: python-slack-sdk
Suggests: python-sleekxmpp
Suggests: python-telegram-send
BuildArch: noarch
@@ -86,13 +83,18 @@ Quickstart
%python_expand %fdupes %{buildroot}%{$python_sitelib}/ntfy*
%check
-%pytest --ignore 'tests/test_xmpp.py' -k 'not test_xmpp'
+export XDG_CONFIG_HOME=/foo/config
+# There is an isolation error. Somewhere in the tests the default configuration dict is modified.
+# For the normal application execution that is not an issue as configuration is loaded only once.
+# So this is the hacky workaround until the issue is fixed upstream.
+%pytest --ignore 'tests/test_xmpp.py' -k 'not test_xmpp' --ignore 'tests/test_config.py'
+%pytest --ignore 'tests/test_xmpp.py' -k 'not test_xmpp' 'tests/test_config.py'
%pre
%python_libalternatives_reset_alternative ntfy
%files %{python_files}
-%doc README.rst
+%doc README.md
%license LICENSE
%python_alternative %{_bindir}/ntfy
%{python_sitelib}/ntfy