diff --git a/meta-oe/recipes-support/liboauth2/liboauth2/0001-build-guard-coverage-linker-flag-behind-CODE_COVERAG.patch b/meta-oe/recipes-support/liboauth2/liboauth2/0001-build-guard-coverage-linker-flag-behind-CODE_COVERAG.patch
deleted file mode 100644
index f234cbd50b..0000000000
--- a/meta-oe/recipes-support/liboauth2/liboauth2/0001-build-guard-coverage-linker-flag-behind-CODE_COVERAG.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 7c70315f7f6b4305d761804fb03f8f90ad7572eb Mon Sep 17 00:00:00 2001
-From: Khem Raj <khem.raj@oss.qualcomm.com>
-Date: Fri, 17 Apr 2026 14:01:46 -0700
-Subject: [PATCH] build: guard --coverage linker flag behind
- CODE_COVERAGE_ENABLED
-
-AM_LDFLAGS passes --coverage to the linker unconditionally,
-it causes coverage instrumentation to be enabled even when
-configured with --disable-code-coverage. Wrap it in the
-automake conditional provided by AX_CODE_COVERAGE.
-
-Upstream-Status: Submitted [https://github.com/OpenIDC/liboauth2/pull/74]
-Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
----
- Makefile.am | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index a079dcc..a3f991d 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -8,7 +8,10 @@ EXTRA_DIST = autogen.sh ChangeLog README.md LICENSE
-
- AM_CPPFLAGS = -Wall -Werror -Wno-error=deprecated-declarations -I${srcdir}/include -I${srcdir}/src @JANSSON_CFLAGS@ @OPENSSL_CFLAGS@
- AM_CPPFLAGS += $(CODE_COVERAGE_CPPFLAGS) $(CODE_COVERAGE_CFLAGS)
--AM_LDFLAGS = --coverage
-+AM_LDFLAGS =
-+if CODE_COVERAGE_ENABLED
-+AM_LDFLAGS += --coverage
-+endif
-
- LDADD = @JANSSON_LIBS@ @OPENSSL_LIBS@
- LDADD += $(CODE_COVERAGE_LIBS)
diff --git a/meta-oe/recipes-support/liboauth2/liboauth2/0001-fix-clang-curl_easy_setopt-takes-a-long-not-an-int.patch b/meta-oe/recipes-support/liboauth2/liboauth2/0001-fix-clang-curl_easy_setopt-takes-a-long-not-an-int.patch
deleted file mode 100644
index 75da04a3a0..0000000000
--- a/meta-oe/recipes-support/liboauth2/liboauth2/0001-fix-clang-curl_easy_setopt-takes-a-long-not-an-int.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From a9f28a44b9b387ef28904e24ca05d28562fdcc45 Mon Sep 17 00:00:00 2001
-From: Frede Hoey Braendstrup <frede@vokalo.io>
-Date: Mon, 26 Jan 2026 11:07:24 +0100
-Subject: [PATCH] fix(clang): curl_easy_setopt takes a long not an int
-
-Signed-off-by: Frede Hoey Braendstrup <frede@vokalo.io>
-Upstream-Status: Backport [https://github.com/OpenIDC/liboauth2/pull/69]
----
- src/http.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/http.c b/src/http.c
-index ab7a25a..bc242ed 100644
---- a/src/http.c
-+++ b/src/http.c
-@@ -1024,7 +1024,7 @@ bool oauth2_http_call(oauth2_log_t *log, const char *url, const char *data,
- 	curl_easy_setopt(curl, CURLOPT_MAXREDIRS, 5L);
- 
- 	if (ctx)
--		curl_easy_setopt(curl, CURLOPT_TIMEOUT, ctx->timeout);
-+		curl_easy_setopt(curl, CURLOPT_TIMEOUT, (long)ctx->timeout);
- 
- 	curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION,
- 			 oauth2_http_curl_buf_write);
-@@ -1092,7 +1092,7 @@ bool oauth2_http_call(oauth2_log_t *log, const char *url, const char *data,
- 
- 	if (data != NULL) {
- 		curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
--		curl_easy_setopt(curl, CURLOPT_POST, 1);
-+		curl_easy_setopt(curl, CURLOPT_POST, 1L);
- 	}
- 
- 	if (ctx)
diff --git a/meta-oe/recipes-support/liboauth2/liboauth2/0002-Fix-use-of-strchr-with-new-GCC.patch b/meta-oe/recipes-support/liboauth2/liboauth2/0002-Fix-use-of-strchr-with-new-GCC.patch
deleted file mode 100644
index 65340e806a..0000000000
--- a/meta-oe/recipes-support/liboauth2/liboauth2/0002-Fix-use-of-strchr-with-new-GCC.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 0dcba079907d559550ee8d9a201d26203bb8aebd Mon Sep 17 00:00:00 2001
-From: Alexander Bokovoy <abokovoy@redhat.com>
-Date: Wed, 7 Jan 2026 11:41:37 +0200
-Subject: [PATCH] Fix use of strchr with new GCC
-
-According to C specification, 7.28.5.1, strchr() is a generic function
-and its string argument's type is promoted to the result. So if it is
-const char*, the result will be const char* as well.
-
-gcc in Fedora Rawhide (15.2.1 20251111 or later) implements this
-conformance, resulting in a compilation fail with
--Werror=discarded-qualifiers.
-
-Signed-off-by: Alexander Bokovoy <abokovoy@redhat.com>
-Upstream-Status: Backport [https://github.com/OpenIDC/liboauth2/commit/0dcba079907d559550ee8d9a201d26203bb8aebd]
-Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
----
- src/jose.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/jose.c b/src/jose.c
-index fbaf661..a3441c8 100644
---- a/src/jose.c
-+++ b/src/jose.c
-@@ -993,7 +993,7 @@ char *oauth2_jose_jwt_header_peek(oauth2_log_t *log,
- {
- 	char *input = NULL, *result = NULL;
- 	json_t *json = NULL;
--	char *p = NULL;
-+	const char *p = NULL;
- 	size_t result_len;
- 	char *rv = NULL;
- 
diff --git a/meta-oe/recipes-support/liboauth2/liboauth2_2.2.0.bb b/meta-oe/recipes-support/liboauth2/liboauth2_2.3.0.bb
similarity index 71%
rename from meta-oe/recipes-support/liboauth2/liboauth2_2.2.0.bb
rename to meta-oe/recipes-support/liboauth2/liboauth2_2.3.0.bb
index 83825c69a5..0f82165ab4 100644
--- a/meta-oe/recipes-support/liboauth2/liboauth2_2.2.0.bb
+++ b/meta-oe/recipes-support/liboauth2/liboauth2_2.3.0.bb
@@ -4,13 +4,9 @@ LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
 
 SRC_URI = " \
-    git://github.com/OpenIDC/liboauth2;protocol=https;branch=master;tag=v${PV} \
-    file://0001-fix-clang-curl_easy_setopt-takes-a-long-not-an-int.patch \
-    file://0002-Fix-use-of-strchr-with-new-GCC.patch \
-    file://0001-build-guard-coverage-linker-flag-behind-CODE_COVERAG.patch \
-    "
+    git://github.com/OpenIDC/liboauth2;protocol=https;branch=master;tag=v${PV}"
 
-SRCREV = "12571b6d6568c2db7d5f080f60ecb55795c0db19"
+SRCREV = "5aeae56ab2c0ae1ff1c70bc13e0628b134ece70c"
 
 DEPENDS = "libpcre2 jansson curl openssl cjose"
 
