You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<p>The WebSocket Next <em>focus group</em> aims to improve our WebSocket experience.</p>
8
-
<p>Recently, we delivered a new approach to dealing with WebSocket (both for the server and client). This was the first step. There are still a few areas to improve, such as documentation, security, observability, and testability. The goal of this focus group is to track these efforts.</p>
9
-
<ul>
10
-
<li>Point of contact: @mkouba (@<strong>Martin Kouba</strong> on Zulip)</li>
short-description: The goal of this working group is to rewrite Quarkus's test classloading, so that tests are run in the same classloader as the application under tests, and Quarkus extensions can do "Quarkus-y" manipulations of test classes.
30
-
readme: |
31
-
<p>At the moment, Quarkus tests are invoked using one classloader, and then executed in a different classloader. This mostly works well, but means some use cases don't work: extensions cannot manipulate test classes in the same way that they do normal application classes. For example, anything run via a JUnit @TestTemplate test case will see the un-transformed class.</p>
32
-
<p>It also means we have extra user-facing complexity, such as the QuarkusTest*Callbacks](https://quarkus.io/guides/getting-started-testing#enrichment-via-quarkustestcallback):</p>
33
-
<blockquote>
34
-
<p>While it is possible to use JUnit Jupiter callback interfaces like BeforeEachCallback, you might run into classloading issues because Quarkus has to run tests in a custom classloader which JUnit is not aware of.</p>
35
-
</blockquote>
36
-
<p>A final benefit is a reduction in the internal complexity of our code. Hopping between classloaders during test execution takes a lot of work, and adds a lot of code! It also is brittle in places. For example, because the hop between classloaders relies on serialization in some cases, it's becoming harder to do as the JVM tightens up security restrictions. We used to rely on xstream, but that stopped working in Java 17. In https://github.com/quarkusio/quarkus/pull/40601, @dmlloyd moved us to use the JBoss Serializer, which works better, but might still be affected by future restrictions on class access.</p>
37
-
<p>The goal of this working group is to allow test classes to fully participate in the 'quarkification' of classes. The mechanism for this is probably just to load the test classes with the classloader we intend to run them with, so that JUnit sees the 'correct' version of the class.</p>
38
-
<ul>
39
-
<li>Point of contact: @holly-cummins (@<strong>Holly Cummins</strong> on Zulip)</li>
A few pre-existing issues have been added to this project, since we're pretty confident the rewrite will either fix them, or unlock the next step for the fix.
48
-
49
-
Progress on the main work item has been delayed by conferences!
50
-
point-of-contact: "@holly-cummins (@<strong>Holly Cummins</strong> on Zulip)"
short-description: Allow Static Site Generation with Quarkus.
@@ -70,17 +21,18 @@ working-groups:
70
21
<p>This is a great opportunity to participate in fun effort and be involved with the Quarkus community, if anyone is interested in being a part of this, please reach out to me 🚀</p>
short-description: Track the progress around the new TLS configuration centralization and new features (like Let's Encrypt, Cert-Manager, and local experience...)
@@ -91,18 +43,71 @@ working-groups:
91
43
<ul>
92
44
<li>Point of contact: @cescoffier (@<strong>Clement Escoffier</strong> on Zulip)</li>
<p>The WebSocket Next <em>focus group</em> aims to improve our WebSocket experience.</p>
64
+
<p>Recently, we delivered a new approach to dealing with WebSocket (both for the server and client). This was the first step. There are still a few areas to improve, such as documentation, security, observability, and testability. The goal of this focus group is to track these efforts.</p>
65
+
<ul>
66
+
<li>Point of contact: @mkouba (@<strong>Martin Kouba</strong> on Zulip)</li>
short-description: The goal of this working group is to rewrite Quarkus's test classloading, so that tests are run in the same classloader as the application under tests, and Quarkus extensions can do "Quarkus-y" manipulations of test classes.
87
+
readme: |
88
+
<p>At the moment, Quarkus tests are invoked using one classloader, and then executed in a different classloader. This mostly works well, but means some use cases don't work: extensions cannot manipulate test classes in the same way that they do normal application classes. For example, anything run via a JUnit @TestTemplate test case will see the un-transformed class.</p>
89
+
<p>It also means we have extra user-facing complexity, such as the QuarkusTest*Callbacks](https://quarkus.io/guides/getting-started-testing#enrichment-via-quarkustestcallback):</p>
90
+
<blockquote>
91
+
<p>While it is possible to use JUnit Jupiter callback interfaces like BeforeEachCallback, you might run into classloading issues because Quarkus has to run tests in a custom classloader which JUnit is not aware of.</p>
92
+
</blockquote>
93
+
<p>A final benefit is a reduction in the internal complexity of our code. Hopping between classloaders during test execution takes a lot of work, and adds a lot of code! It also is brittle in places. For example, because the hop between classloaders relies on serialization in some cases, it's becoming harder to do as the JVM tightens up security restrictions. We used to rely on xstream, but that stopped working in Java 17. In https://github.com/quarkusio/quarkus/pull/40601, @dmlloyd moved us to use the JBoss Serializer, which works better, but might still be affected by future restrictions on class access.</p>
94
+
<p>The goal of this working group is to allow test classes to fully participate in the 'quarkification' of classes. The mechanism for this is probably just to load the test classes with the classloader we intend to run them with, so that JUnit sees the 'correct' version of the class.</p>
95
+
<ul>
96
+
<li>Point of contact: @holly-cummins (@<strong>Holly Cummins</strong> on Zulip)</li>
A few pre-existing issues have been added to this project, since we're pretty confident the rewrite will either fix them, or unlock the next step for the fix.
106
+
107
+
Progress on the main work item has been delayed by conferences!
108
+
point-of-contact: "@holly-cummins (@<strong>Holly Cummins</strong> on Zulip)"
short-description: This WG focuses on defining the issues we would like to have in the next-to-be LTS (Quarkus 3.14/3.15)
@@ -117,6 +122,7 @@ working-groups:
117
122
status: on track
118
123
completed: false
119
124
last-activity: 2024-11-13
125
+
last-update-date: 2024-10-28
120
126
last-update: |
121
127
Everything is fine for now.
122
128
@@ -139,6 +145,7 @@ working-groups:
139
145
status: on track
140
146
completed: false
141
147
last-activity: 2024-10-31
148
+
last-update-date: 2024-09-27
142
149
last-update: |
143
150
There is a first draft https://github.com/quarkusio/quarkus/pull/42316
144
151
The PR introduces a CLI plugin that generates a Dockerfile.
@@ -179,6 +186,7 @@ working-groups:
179
186
status: on track
180
187
completed: false
181
188
last-activity: 2024-10-28
189
+
last-update-date: 2024-10-28
182
190
last-update: |
183
191
Still on track.
184
192
In the last period, we organized an international manhunt to find the owner of the quarkus.dev DNS name :-) We were able to identify the owner, and everything is fine. `quarkus.io` and `quarkus.dev` should be transferred to the foundation at some point.
@@ -194,6 +202,7 @@ working-groups:
194
202
status: on track
195
203
completed: false
196
204
last-activity: 2024-10-03
205
+
last-update-date: 2024-10-29
197
206
last-update: |
198
207
The main missing piece for now is the Asciidoctor -> Markdown transformer. I did a first try with some regexp-based parser but it was too limited for some of the content we have (mostly complex tables). I have another lead as someone actually wrote a Java Asciidoctor parser. The only problem is that the HTML transformation is intertwined with the parser. I need to split them and then create a Markdown document from there. Making slow progress as time permits.
<ahref="{{ item.discussion }}" title="Discuss about the working group"><iclass="icon fa-solid fa-comments"></i></i></a>
33
+
{% else %}
34
+
<ahref="https://quarkusio.zulipchat.com/#narrow/stream/187038-dev" title="Discuss about the working group"><iclass="icon fa-solid fa-comments"></i></a>
0 commit comments