Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency io.dropwizard:dropwizard-parent to v4 (3.0.x) #21

Closed
wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Mar 31, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
io.dropwizard:dropwizard-parent 3.0.0 -> 4.0.0 age adoption passing confidence

Release Notes

dropwizard/dropwizard

v4.0.0

Compare Source

Dropwizard 4.0.0

It's finally here, the next major release of Dropwizard! This one has been developed and released in tandem with Dropwizard 3.0.0.

If you're wondering what the differences are: Not much!

3️⃣ Dropwizard 3.0.0 is still based on and is using dependencies for Java EE and the javax.* package namespace. The effort to migrate from Dropwizard 2.x to Dropwizard 3.0.0 should be minimal for many projects.

4️⃣ Dropwizard 4.0.0 is based on and is using dependencies for Jakarta EE and the jakarta.* package namespace. The effort to migrate from Dropwizard 2.x to Dropwizard 4.0.0 might be bigger due to more package changes and more breaking changes in our dependencies.

📣 In any case, let us know how the migration went and if you were missing anything important in the upgrade notes in our GitHub Discussions!

⚠️ Breaking changes

For a full list of relevant changes please refer to the Upgrade Notes for Dropwizard 4.0.x.

Java 11 baseline

Dropwizard 4.0.0 and later require Java 11 as a baseline. Later versions of Java are also working.

Dropwizard Package Structure and JPMS

In order to properly support the Java Platform Module System (JPMS), the Java packages in modules must not overlap, or put differently, the packages may not be split into multiple modules.

Dropwizard 4.0.0 won’t enable full support for the JPMS. Instead, as a transition step, automatic modules are introduced.

Affected packages:

Maven module | Old package | New package
-- | -- | --
dropwizard-core | io.dropwizard | io.drowizard.core
dropwizard-logging | io.dropwizard.logging | io.dropwizard.logging.common
dropwizard-metrics | io.dropwizard.metrics | io.dropwizard.metrics.common
dropwizard-views | io.dropwizard.views | io.dropwizard.views.common

Transition to Jakarta EE

Previously released Dropwizard versions used Java/Jakarta EE dependencies under the javax namespace. Dropwizard 4.0.x transitioned to Jakarta EE 9 components and therefore utilize the new jakarta namespace for many components.

This means that most of the imports of existing applications using Dropwizard 2.x or 3.x will have to be changed from the javax to the jakarta namespace. However, other components still use the javax namespace, so a simple search and replace could break other imports.

Jakarta EE 9 compatibility

As stated above, Dropwizard 4.0.x will transition to Jakarta EE 9 components. This means, Dropwizard will now try to be consistent with one specific EE version.

Therefore Dropwizard 4.0.x will stay on components of Jakarta EE 9 and the transition to components of Jakarta EE 10 will be postponed to an other release series.

Since the EE version bump will probably introduce breaking changes, the Jakarta EE 10 components will be most likely integrated in Dropwizard 5.0.x and not in a 4.1.x release.

Jetty 10

The main change introduced in Dropwizard 3.0.0 is the upgrade to Jetty 10.0.x. Jetty 10.0.x is built for Java 11, therefore the Java version change was necessary.

This change comes with some migration cost. For detailed information regarding the changes introduced in Jetty 10.0.x, refer to the Jetty migration guide.

Apache HttpClient 5

The version of Apache HttpClient used in dropwizard-client has been updated to version 5.x.

For more information refer to the Apache HttpClient 5.0 migration guide.

Hibernate 6

Hibernate 5.6 provides compatible implementations for JPA 2.2 and for Jakarta Persistence 3.0.

But Hibernate 6.0 and 6.1 still provide compatible implementations for Jakarta Persistence 3.0, so we upgraded to Hibernate 6.1 in Dropwizard 4.0.x.

If any other aspects from Hibernate are used in an application rather than those provided by Dropwizard, there might be an additional migration cost. Please follow the Hibernate 6 migration guide and the Hibernate 6.1 migration guide, if you encounter any problems.

Removed Support for JUnit 4.x

Support for testing with JUnit 4.x has been moved from dropwizard-testing to dropwizard-testing-junit4.

🥇 Special thanks

The release of Dropwizard 3.0.0 wouldn't have been possible without the help of the community (YOU!) and especially the following contributors:

@​zUniQueX, @​rhowe, @​pstackle, @​dennyac, and countless others!

What's Changed since Dropwizard 4.0.0-beta.4

Full Changelog: dropwizard/dropwizard@v4.0.0-beta.4...v4.0.0


Configuration

📅 Schedule: Branch creation - "before 2am" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Mar 31, 2023
@joschi joschi closed this Mar 31, 2023
@renovate
Copy link
Contributor Author

renovate bot commented Mar 31, 2023

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future 4.x releases. But if you manually upgrade to 4.x then Renovate will re-enable minor and patch updates automatically.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

@renovate renovate bot deleted the renovate/3.0.x-major-dropwizard-monorepo branch March 31, 2023 11:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant