diff --git a/content/posts/2026-04-15-releases.adoc b/content/posts/2026-04-15-releases.adoc
new file mode 100644
index 0000000..0aca6a7
--- /dev/null
+++ b/content/posts/2026-04-15-releases.adoc
@@ -0,0 +1,121 @@
+---
+layout: post
+title: "RESTEasy 6.2.16.Final and 7.0.2.Final Releases"
+date: 2026-04-15
+author: James R. Perkins
+---
+
+Today we would like to announce the release of RESTEasy link:/downloads#6216final[6.2.16.Final] and RESTEasy
+link:/downloads#702final[7.0.2.Final]. Both releases consist mostly of bug fixes and component upgrades.
+
+One big change to both 6.2.16.Final and 7.0.2.Final was better support for https://redhat.atlassian.net/browse/RESTEASY-3693[CDI].
+Previously, Jakarta REST resources required a public no-arg constructor, even when managed by CDI. This release relaxes that
+requirement, allowing CDI to fully handle resource creation. This means your resources can now use constructor injection
+without needing to maintain an additional no-arg constructor.
+
+== 7.0.2.Final
+
+RESTEasy 7.0.2.Final is a https://jakarta.ee/specifications/restful-ws/4.0/[Jakarta REST 4.0] implementation. This
+release includes mostly bug fixes and component upgrades.
+
+One notable upgrade in this release is the migration to Jackson 2.21 LTS. This is a long-term support version of Jackson,
+which provides better stability and extended support for users who need a more stable JSON processing foundation.
+
+Among the bug fixes, this release addresses an https://redhat.atlassian.net/browse/RESTEASY-3691[IllegalAccessError] that
+could occur when posting large entities via the Apache HTTP client engine, and fixes for Server-Sent Events (SSE) handling
+in Vert.x environments.
+
+=== Component Upgrade
+
+* https://redhat.atlassian.net/browse/RESTEASY-3687[RESTEASY-3687] Bump org.jboss.logging:jboss-logging from 3.6.1.Final to 3.6.2.Final
+* https://redhat.atlassian.net/browse/RESTEASY-3688[RESTEASY-3688] Bump version.weld from 6.0.3.Final to 6.0.4.Final
+* https://redhat.atlassian.net/browse/RESTEASY-3690[RESTEASY-3690] Bump the fasterxml-dependencies group across 1 directory with 2 updates
+* https://redhat.atlassian.net/browse/RESTEASY-3696[RESTEASY-3696] Bump version.org.glassfish.jaxb from 4.0.6 to 4.0.7
+* https://redhat.atlassian.net/browse/RESTEASY-3699[RESTEASY-3699] Bump org.jboss.logging:jboss-logging from 3.6.2.Final to 3.6.3.Final
+* https://redhat.atlassian.net/browse/RESTEASY-3700[RESTEASY-3700] Bump org.jboss.arquillian:arquillian-bom from 1.10.0.Final to 1.10.1.Final
+* https://redhat.atlassian.net/browse/RESTEASY-3701[RESTEASY-3701] Bump org.wildfly:wildfly-channel-maven-plugin from 1.0.30 to 1.0.31
+* https://redhat.atlassian.net/browse/RESTEASY-3702[RESTEASY-3702] Bump version.io.undertow from 2.3.20.Final to 2.3.23.Final
+* https://redhat.atlassian.net/browse/RESTEASY-3704[RESTEASY-3704] Bump org.wildfly.security:wildfly-elytron-ssl from 2.6.7.Final to 2.6.8.Final
+* https://redhat.atlassian.net/browse/RESTEASY-3705[RESTEASY-3705] Bump org.eclipse.jetty:jetty-server from 12.0.15 to 12.0.32 in /resteasy-dependencies-bom
+* https://redhat.atlassian.net/browse/RESTEASY-3707[RESTEASY-3707] Upgrade Jackson to 2.21.1 LTS
+* https://redhat.atlassian.net/browse/RESTEASY-3709[RESTEASY-3709] Bump org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-bom from 3.3.4 to 3.3.5
+* https://redhat.atlassian.net/browse/RESTEASY-3710[RESTEASY-3710] Bump version.io.undertow from 2.3.23.Final to 2.3.24.Final
+* https://redhat.atlassian.net/browse/RESTEASY-3711[RESTEASY-3711] Bump com.fasterxml.jackson:jackson-bom from 2.21.1 to 2.21.2 in the fasterxml-dependencies group
+* https://redhat.atlassian.net/browse/RESTEASY-3719[RESTEASY-3719] Bump org.wildfly:wildfly-channel-maven-plugin from 1.0.31 to 1.0.32
+* https://redhat.atlassian.net/browse/RESTEASY-3720[RESTEASY-3720] Bump org.apache.httpcomponents:httpasyncclient from 4.1.4 to 4.1.5
+
+=== Enhancement
+
+* https://redhat.atlassian.net/browse/RESTEASY-3596[RESTEASY-3596] Contextual scheduled executor service causes inadvertent Thread + classloader leak
+* https://redhat.atlassian.net/browse/RESTEASY-3693[RESTEASY-3693] Relax Constructor Requirements for CDI-Managed Jakarta REST Components
+
+=== Bug
+
+* https://redhat.atlassian.net/browse/RESTEASY-3359[RESTEASY-3359] SseEventSink close does not update the request for Vert.x
+* https://redhat.atlassian.net/browse/RESTEASY-3683[RESTEASY-3683] EJB's should be allowed to have annotated interface methods as well as implementation methods
+* https://redhat.atlassian.net/browse/RESTEASY-3685[RESTEASY-3685] Few test fails with Semeru (IBM) JDK
+* https://redhat.atlassian.net/browse/RESTEASY-3691[RESTEASY-3691] IllegalAccessError when POSTing entity larger than in-memory threshold via ManualClosingApacheHttpClient43Engine
+
+=== Task
+
+* https://redhat.atlassian.net/browse/RESTEASY-3660[RESTEASY-3660] Deprecate the resteasy.patch.filter.legacy context parameter
+* https://redhat.atlassian.net/browse/RESTEASY-3686[RESTEASY-3686] Delete HeaderEmptyHostTest to unit test due to Undertow security hardening https://redhat.atlassian.net/browse/UNDERTOW-2656[UNDERTOW-2656] and lack of core framework relevance
+* https://redhat.atlassian.net/browse/RESTEASY-3698[RESTEASY-3698] Remove the BASE \+ i for the ID patterns in the messages and message loggers
+* https://redhat.atlassian.net/browse/RESTEASY-3708[RESTEASY-3708] Refactor the `FakeHttpServer` in the unit tests to no use the `com.sun.net.httpserver.HttpServer`
+
+Full releases notes can be found at https://github.com/resteasy/resteasy/releases/tag/7.0.2.Final.
+
+== 6.2.16.Final
+
+RESTEasy 6.2.16.Final is a https://jakarta.ee/specifications/restful-ws/3.1/[Jakarta REST 3.1] implementation. This
+release includes mostly bug fixes and component upgrades.
+
+While this should not affect you as a user, it should be noted that in https://redhat.atlassian.net/browse/RESTEASY-3712[RESTEASY-3712]
+we upgrade to a new minor of JBoss Logging. This was done for better support in modular environments. We did, however,
+keep backwards compatibility so using JBoss Logging 3.5.x should also work.
+
+Similar to 7.0.2.Final, this release addresses an https://redhat.atlassian.net/browse/RESTEASY-3691[IllegalAccessError]
+when posting large entities, fixes for Server-Sent Events (SSE) in Vert.x environments, and resolves a
+https://redhat.atlassian.net/browse/RESTEASY-3697[SecurityException] in SSE when the security manager is enabled.
+
+=== Component Upgrade
+
+* https://redhat.atlassian.net/browse/RESTEASY-3689[RESTEASY-3689] Bump version.weld from 5.1.6.Final to 5.1.7.Final
+* https://redhat.atlassian.net/browse/RESTEASY-3696[RESTEASY-3696] Bump version.org.glassfish.jaxb from 4.0.6 to 4.0.7
+* https://redhat.atlassian.net/browse/RESTEASY-3700[RESTEASY-3700] Bump org.jboss.arquillian:arquillian-bom from 1.10.0.Final to 1.10.1.Final
+* https://redhat.atlassian.net/browse/RESTEASY-3701[RESTEASY-3701] Bump org.wildfly:wildfly-channel-maven-plugin from 1.0.30 to 1.0.31
+* https://redhat.atlassian.net/browse/RESTEASY-3702[RESTEASY-3702] Bump version.io.undertow from 2.3.20.Final to 2.3.23.Final
+* https://redhat.atlassian.net/browse/RESTEASY-3703[RESTEASY-3703] Bump version.io.netty.netty4 from 4.1.128.Final to 4.1.131.Final
+* https://redhat.atlassian.net/browse/RESTEASY-3704[RESTEASY-3704] Bump org.wildfly.security:wildfly-elytron-ssl from 2.6.7.Final to 2.6.8.Final
+* https://redhat.atlassian.net/browse/RESTEASY-3706[RESTEASY-3706] Bump com.fasterxml.jackson:jackson-bom from 2.18.5 to 2.18.6 in the fasterxml-dependencies group
+* https://redhat.atlassian.net/browse/RESTEASY-3709[RESTEASY-3709] Bump org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-bom from 3.3.4 to 3.3.5
+* https://redhat.atlassian.net/browse/RESTEASY-3710[RESTEASY-3710] Bump version.io.undertow from 2.3.23.Final to 2.3.24.Final
+* https://redhat.atlassian.net/browse/RESTEASY-3712[RESTEASY-3712] Upgrade the JBoss Logging dependency to 3.6.3.Final
+* https://redhat.atlassian.net/browse/RESTEASY-3718[RESTEASY-3718] Bump version.io.netty.netty4 from 4.1.131.Final to 4.1.132.Final
+* https://redhat.atlassian.net/browse/RESTEASY-3719[RESTEASY-3719] Bump org.wildfly:wildfly-channel-maven-plugin from 1.0.31 to 1.0.32
+
+=== Enhancement
+
+* https://redhat.atlassian.net/browse/RESTEASY-3596[RESTEASY-3596] Contextual scheduled executor service causes inadvertent Thread + classloader leak
+* https://redhat.atlassian.net/browse/RESTEASY-3693[RESTEASY-3693] Relax Constructor Requirements for CDI-Managed Jakarta REST Components
+
+=== Bug
+
+* https://redhat.atlassian.net/browse/RESTEASY-3359[RESTEASY-3359] SseEventSink close does not update the request for Vert.x
+* https://redhat.atlassian.net/browse/RESTEASY-3683[RESTEASY-3683] EJB's should be allowed to have annotated interface methods as well as implementation methods
+* https://redhat.atlassian.net/browse/RESTEASY-3685[RESTEASY-3685] Few test fails with Semeru (IBM) JDK
+* https://redhat.atlassian.net/browse/RESTEASY-3691[RESTEASY-3691] IllegalAccessError when POSTing entity larger than in-memory threshold via ManualClosingApacheHttpClient43Engine
+* https://redhat.atlassian.net/browse/RESTEASY-3697[RESTEASY-3697] The SseEventOutputImpl will throw a security exception if the security manager is enabled when the stream is closed
+
+=== Task
+
+* https://redhat.atlassian.net/browse/RESTEASY-3660[RESTEASY-3660] Deprecate the resteasy.patch.filter.legacy context parameter
+* https://redhat.atlassian.net/browse/RESTEASY-3686[RESTEASY-3686] Delete HeaderEmptyHostTest to unit test due to Undertow security hardening https://redhat.atlassian.net/browse/UNDERTOW-2656[UNDERTOW-2656] and lack of core framework relevance
+* https://redhat.atlassian.net/browse/RESTEASY-3698[RESTEASY-3698] Remove the BASE \+ i for the ID patterns in the messages and message loggers
+* https://redhat.atlassian.net/browse/RESTEASY-3708[RESTEASY-3708] Refactor the `FakeHttpServer` in the unit tests to no use the `com.sun.net.httpserver.HttpServer`
+
+Full releases notes can be found at https://github.com/resteasy/resteasy/releases/tag/6.2.16.Final.
+
+== Finally
+
+As always, https://github.com/resteasy/resteasy/discussions/[feedback] is welcome. Stay safe, and, depending on where you are, stay warm or be cool.
\ No newline at end of file
diff --git a/data/releases.yaml b/data/releases.yaml
index 01b9d0a..73cfdbe 100644
--- a/data/releases.yaml
+++ b/data/releases.yaml
@@ -1,6 +1,23 @@
- group: 7.0.x
supported: true
detail:
+ - version: 7.0.2.Final
+ date: 2026-04-15
+ license: ASL v2
+ source: https://github.com/resteasy/resteasy/releases/download/v7.0.2.Final/resteasy-7.0.2.Final-src.zip
+ size: 36.5 MB
+ release_notes: https://github.com/resteasy/resteasy/releases/tag/v7.0.2.Final
+ download_link: https://github.com/resteasy/resteasy/releases/download/v7.0.2.Final/resteasy-7.0.2.Final-all.zip
+ download_text: resteasy-7.0.2.Final-all.zip
+ jakarta_rest_spec:
+ version: 4.0
+ link: https://jakarta.ee/specifications/restful-ws/4.0/jakarta-restful-ws-spec-4.0.html
+ java_doc: https://jakarta.ee/specifications/restful-ws/4.0/apidocs
+ documentation:
+ examples: https://github.com/resteasy/resteasy-examples/
+ link: https://docs.resteasy.dev/7.0/userguide/
+ pdf: https://docs.resteasy.dev/7.0/userguide/resteasy-reference-guide.pdf
+ java_doc: https://docs.resteasy.dev/7.0/javadocs/
- version: 7.0.1.Final
date: 2025-12-10
license: ASL v2
@@ -38,6 +55,23 @@
- group: 6.2.x
supported: true
detail:
+ - version: 6.2.16.Final
+ date: 2026-04-15
+ license: ASL v2
+ source: https://github.com/resteasy/resteasy/releases/download/v6.2.16.Final/resteasy-6.2.16.Final-src.zip
+ size: 41.1 MB
+ release_notes: https://github.com/resteasy/resteasy/releases/tag/v6.2.16.Final
+ download_link: https://github.com/resteasy/resteasy/releases/download/v6.2.16.Final/resteasy-6.2.16.Final-all.zip
+ download_text: resteasy-6.2.16.Final-all.zip
+ jakarta_rest_spec:
+ version: 3.1
+ link: https://jakarta.ee/specifications/restful-ws/3.1/jakarta-restful-ws-spec-3.1.html
+ java_doc: https://jakarta.ee/specifications/restful-ws/3.1/apidocs
+ documentation:
+ examples: https://github.com/resteasy/resteasy-examples/
+ link: https://docs.resteasy.dev/6.2/userguide/
+ pdf: https://docs.resteasy.dev/6.2/userguide/resteasy-reference-guide.pdf
+ java_doc: https://docs.resteasy.dev/6.2/javadocs/
- version: 6.2.15.Final
date: 2025-12-10
license: ASL v2
diff --git a/public/css/bootstrap-theme.css b/public/css/bootstrap-theme.css
index 5eac6b3..dbd9290 100644
--- a/public/css/bootstrap-theme.css
+++ b/public/css/bootstrap-theme.css
@@ -80,6 +80,18 @@ h4 {
margin-top: 0 !important;
}
+/* ============================================
+ LINKS - Modern hover behavior
+ ============================================ */
+a {
+ text-decoration: none !important;
+ transition: all 0.15s ease !important;
+}
+
+a:hover {
+ text-decoration: underline !important;
+}
+
/* Dark mode heading colors */
[data-bs-theme="dark"] h1 {
color: #e6edf3 !important;
@@ -1680,11 +1692,14 @@ table tbody tr:last-child td,
color: #e6edf3 !important;
}
-[data-bs-theme="dark"] p,
-[data-bs-theme="dark"] a {
+[data-bs-theme="dark"] p {
color: #c9d1d9 !important;
}
+[data-bs-theme="dark"] a {
+ color: var(--resteasy-accent) !important;
+}
+
[data-bs-theme="dark"] a:hover {
color: var(--resteasy-accent-light) !important;
}
diff --git a/public/js/theme-toggle.js b/public/js/site.js
similarity index 73%
rename from public/js/theme-toggle.js
rename to public/js/site.js
index 4895d75..925b039 100644
--- a/public/js/theme-toggle.js
+++ b/public/js/site.js
@@ -1,8 +1,12 @@
/**
- * RESTEasy Theme Switcher
- * Toggles between light and dark modes using Bootstrap's data-bs-theme
+ * RESTEasy Site JavaScript
+ * Main JavaScript file containing theme switcher, navigation, and interactive features
*/
+/**
+ * Theme Switcher
+ * Toggles between light and dark modes using Bootstrap's data-bs-theme
+ */
(function() {
'use strict';
@@ -151,3 +155,55 @@
});
});
})();
+
+/**
+ * Clickable News Cards
+ * Makes entire news/blog cards clickable while maintaining link accessibility
+ */
+(function() {
+ 'use strict';
+
+ document.addEventListener('DOMContentLoaded', () => {
+ // Select all news/blog cards
+ const cards = document.querySelectorAll('.news-list-blocks .card, .blog-post-card');
+
+ cards.forEach(card => {
+ // Find the main link (either in title or "Read More")
+ const link = card.querySelector('.card-title a, .post-title a, a[href*="/posts/"]');
+
+ if (link) {
+ // Make the card clickable
+ card.style.cursor = 'pointer';
+
+ card.addEventListener('click', (e) => {
+ // Don't trigger if clicking on an actual link (let the link handle it)
+ if (e.target.tagName === 'A') {
+ return;
+ }
+
+ // Respect modifier keys (cmd/ctrl click for new tab, etc.)
+ if (e.metaKey || e.ctrlKey) {
+ window.open(link.href, '_blank');
+ } else {
+ window.location.href = link.href;
+ }
+ });
+
+ // Improve accessibility - make cards keyboard navigable
+ card.setAttribute('tabindex', '0');
+ card.setAttribute('role', 'article');
+
+ // Handle keyboard navigation (Enter key)
+ card.addEventListener('keydown', (e) => {
+ if (e.key === 'Enter') {
+ if (e.metaKey || e.ctrlKey) {
+ window.open(link.href, '_blank');
+ } else {
+ window.location.href = link.href;
+ }
+ }
+ });
+ }
+ });
+ });
+})();
diff --git a/templates/partials/head.html b/templates/partials/head.html
index 60aadc2..e69c8e7 100644
--- a/templates/partials/head.html
+++ b/templates/partials/head.html
@@ -32,6 +32,6 @@
integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL"
crossorigin="anonymous">
-
-
+
+