Plans for Dropwizard 3 #4720
Replies: 22 comments 20 replies
-
At the moment, the upgrade seems to get really heavy, since Jetty is on version 9 yet. Unfortunately we cannot upgrade Jetty to 10.0.x due to a logback issue. A PR for this is already raised: qos-ch/logback#532 |
Beta Was this translation helpful? Give feedback.
-
@joschi For an easier upgrade to the Should I provide a PR for this? The newly introduced classes are marked as deprecated and will be removed when using the Logback classes that support the |
Beta Was this translation helpful? Give feedback.
-
I wonder if we should be considering an approach similar to what Jetty did with their v10 and v11 split. We would do Dropwizard v3 synced up with Jetty 10 and stay on the Ref: https://webtide.com/jetty-10-and-11-have-arrived/ CC @dropwizard/committers |
Beta Was this translation helpful? Give feedback.
-
@pstackle I think this would be nice for users but will be very hard to maintain. Keeping only two versions in sync with the |
Beta Was this translation helpful? Give feedback.
-
@zUniQueX What do you mean by three Jetty versions? I was thinking we'd have:
with Dropwizard v2 (and Jetty 9) no longer supported or at least in a (hopefully) low-effort maintenance mode. Alternatively, if we don't mirror the approach Jetty has done, we'd basically have to pick between the following choices:
|
Beta Was this translation helpful? Give feedback.
-
@pstackle I exactly meant Jetty 9 in v2, Jetty 10 in v3 and Jetty 11 in v4. I think, we cannot directly deprecate v2. In my opinion we can skip a Jetty 10 only version, so I would stay on Jetty 9 in v2 and upgrade to Jetty 11 in v3. |
Beta Was this translation helpful? Give feedback.
-
@dropwizard/committers @zUniQueX What do you think about the following roadmap?
While Dropwizard 2.2.x formally is breaking semantic versioning (because of the change of the language baseline from Java 8 to 11), it would still work largely as before and it might give users a little nudge to upgrade to Java 11 in production. 😉 Other than that I don't think Jetty 10 will break a lot of things which are officially supported by Dropwizard (see also https://webtide.com/jetty-10-and-11-have-arrived/) and thus the upgrade from Dropwizard 2.1.x to 2.2.x should cause only minor upgrade pain - if at all when people are already on Java 11. |
Beta Was this translation helpful? Give feedback.
-
Hello, is there a dropwizard 3 preview repository available? I am only interested in the jakarta libs upgrade. I've downloaded and tried to build the project on the renovate-jakarta branch but got some errors there, I've updated the jersey libs but still got into some problems with jackson which uses old javax packages. They had a bom with jakarta classifierd but revert it. Looks like it's a long way to have it. |
Beta Was this translation helpful? Give feedback.
-
@danjee No, this is currently only in planning stage and there's no development branch yet. |
Beta Was this translation helpful? Give feedback.
-
@joschi thanks. I've edited the question |
Beta Was this translation helpful? Give feedback.
-
@danjee Moving from This is not only Jersey and Jetty, but also Hibernate Validator, Hibernate ORM, and any library adding functionality to those aforementioned ones. In other words: Don't hold your breath. 😉 |
Beta Was this translation helpful? Give feedback.
-
Would request documented timelines on end of support for 2.x, 2.1.x, and 2.2.x so consumers can start planning around it as soon as possible. |
Beta Was this translation helpful? Give feedback.
-
@joschi From other PRs and issues I thought you would highly prefer semantic versioning and therefore wouldn't want to make such an upgrade in 2.2.x 😉 I personally agree Java 11 upgrades should be done for production environments and therefore would appreciate the change. For the upgrade effort I previously linked a test branch I have for this.
Currently the limiting factor of doing an upgrade seems to be that Logback still doesn't support Jetty 10. We could work around this with a custom implementation of the |
Beta Was this translation helpful? Give feedback.
-
IIRC the only necessary Jackson dependency for this upgrade has a Jakarta version with the |
Beta Was this translation helpful? Give feedback.
-
@joschi Would you be interested in having an early development branch for DW 3? After the Jetty 10 upgrade this is more or less replacing libraries and doing search-and-replace in the IDE 😉 I've done this before and could complete the |
Beta Was this translation helpful? Give feedback.
-
@joschi Why not just call this v3 and be explicit about the change? I'm not sure that we gain much by trying to sell it as a minor update. Based on the work that @zUniQueX has done, it sounds like there are at least a handful of Jetty 10 changes that we'd have to reason about. By upgrading to Jetty 10 + Java 11 as a major Dropwizard version, it seems to me that it better communicates the magnitude of the change. |
Beta Was this translation helpful? Give feedback.
-
@zUniQueX And you'd be absolutely right about it. 😅 Thanks to yours and @pstackle's feedback I'm convinced that the jump to Jetty 10 and Java 11 makes more sense for Dropwizard 3.x and the migration to Jakarta EE in Dropwizard 4.x. 👍 |
Beta Was this translation helpful? Give feedback.
-
FYI, I've enabled GitHub Discussions in this repository and converted this issue into a discussion. |
Beta Was this translation helpful? Give feedback.
-
I filed a bug report about the request log behaviour change from Jetty 11.0.7 to 11.0.8 and after the discussion I wouldn't want to ship Dropwizard 3.x.x and 4.x.x without the linked PR merged at logback and backported to logback 1.3.x with the The comments of the Jetty team also make me a bit uneasy about logback-access and I think we could discuss, if we should provide a request log implementation for Jetty's classes. Jetty does processing of the request anyway, so why shouldn't Jetty also do the logging? 😉 |
Beta Was this translation helpful? Give feedback.
-
Why all the concerns around javax vs jakarta? We've been running dropwizard 2.x for a while now and we enforce using only jakarta dependencies for everything. Maybe I'm missing something.
|
Beta Was this translation helpful? Give feedback.
-
@dropwizard/committers Does anyone want to integrate further breaking changes into Dropwizard 3.0.0? If not, I think we're good to go, since we could now introduce the |
Beta Was this translation helpful? Give feedback.
-
Do you have an idea of when v3/v4 will be released? We've noticed a lot of other (non-dropwizard) projects are now pulling in slf4j v2 in their upgrades (sometimes as part of minor or tiny releases) and it seems like we need v3/v4 of dropwizard for it to work properly. Thanks! |
Beta Was this translation helpful? Give feedback.
-
Including Logback's alpha versions, the dependencies could now be updated to the
jakarta
namespace.Should we - as most other Jakarta EE components - support both the
javax
and thejakarta
namespace and therefore build Dropwizard 3, or should we postpone the upgrade?Beta Was this translation helpful? Give feedback.
All reactions