Skip to content

FELIX-6750 Update Felix HTTP to Jetty 12.1.9#376

Merged
paulrutter merged 96 commits into
masterfrom
feature/FELIX-6750-Jetty-12.1.0-tryout
May 28, 2026
Merged

FELIX-6750 Update Felix HTTP to Jetty 12.1.9#376
paulrutter merged 96 commits into
masterfrom
feature/FELIX-6750-Jetty-12.1.0-tryout

Conversation

@paulrutter
Copy link
Copy Markdown
Contributor

@paulrutter paulrutter commented Jan 20, 2025

Updates Felix HTTP to Jetty 12.1.9 (release notes).

  • org.apache.felix.http.jetty12 bumped to 1.2.0-SNAPSHOT
  • Migrated to Jetty EE11 (servlet API 6.1)
  • Added org.eclipse.jetty.compression.* to exports
  • Added dependencies on jetty-compression-gzip and jetty-compression-common

- 1.1.0-SNAPSHOT
- Use jetty 12.1.0-alpha1
- Add `org.eclipse.jetty.compression.*` to exports
- Add dependency on jetty-compression-gzip (not sure if this is required, maybe only for the client) and jetty-compression-common
- Move to EE11
- Skip baselining to prevent errors in the baseline phase because of changed API's in 6.1.0
- Pass local maven repo to be able to get to the snapshot version of the servlet-api bundle
- Build servlet-api, as it's used in the Jetty bundles
@paulrutter
Copy link
Copy Markdown
Contributor Author

@cziegeler i did a first attempt on getting the http.jetty12 bundle to using Jetty 12.1.0 (servlet API 6.1).

Once it's GA we can revisit and check the open ends (like the servlet-api bundle failing on the baseline phase, we might need to remove version 5.0 and 6.0 from this bundle to get this resolved, as the servlet API actually changed in 6.1).

- Update wrappers to implement new methods for servlet-api 6.1. This will break backwards compatbility though
@cziegeler
Copy link
Copy Markdown
Contributor

Thanks, thats great.
Your changes to the servlet-api bundle look good - we always include the latest version (6.1 in this case) and export it as all earlier versions (5 and 6 in this case). While this is not 100% correct, it is usually good enough as the versions are compatible and code is not compiled against this bundle - it is just used at runtime.
There is of course the exception of servlet 6 which is not fully compatible to servlet 5 - due to removed methods -but we have that problem already today.

paulrutter and others added 20 commits January 22, 2025 09:01
# Conflicts:
#	http/jetty12/src/test/java/org/apache/felix/http/jetty/it/JettySpecificWebsocketIT.java
#	http/samples/whiteboard/src/main/java/org/apache/felix/http/samples/whiteboard/FelixJettyWebSocketServlet.java
#	http/samples/whiteboard/src/main/java/org/apache/felix/http/samples/whiteboard/TestWebSocketServletAlternative.java
# Conflicts:
#	http/itest/pom.xml
#	http/jetty/pom.xml
#	http/jetty12/pom.xml
#	http/samples/whiteboard/pom.xml
…#375)

Bumps [ch.qos.logback:logback-core](https://github.com/qos-ch/logback) from 1.3.12 to 1.3.15.
- [Commits](qos-ch/logback@v_1.3.12...v_1.3.15)

---
updated-dependencies:
- dependency-name: ch.qos.logback:logback-core
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ch.qos.logback:logback-core](https://github.com/qos-ch/logback) from 1.3.12 to 1.3.15.
- [Release notes](https://github.com/qos-ch/logback/releases)
- [Commits](qos-ch/logback@v_1.3.12...v_1.3.15)

---
updated-dependencies:
- dependency-name: ch.qos.logback:logback-core
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps org.apache.felix:org.apache.felix.webconsole from 4.0.0 to 4.9.10.

---
updated-dependencies:
- dependency-name: org.apache.felix:org.apache.felix.webconsole
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@paulrutter
Copy link
Copy Markdown
Contributor Author

@cziegeler now 12.1.0 is out, #376 (comment) might become something to look into. It has been intermittent between beta versions. In the final version, it's again an issue.

@cziegeler
Copy link
Copy Markdown
Contributor

maybe we just wait for 12.1.1 :)

- Use 1.2.0-SNAPSHOT now 1.1.0 will be released soon on master
# Conflicts:
#	http/base/pom.xml
#	http/jetty12/pom.xml
#	http/jetty12/src/test/java/org/apache/felix/http/jetty/it/AbstractJettyTestSupport.java
#	http/samples/whiteboard/pom.xml
- Use 1.2.0 snapshot
@enapps-enorman
Copy link
Copy Markdown
Contributor

Can we revisit these changes now? Jetty is up to 12.1.9 now.

@paulrutter
Copy link
Copy Markdown
Contributor Author

Yeah this one should indeed be revisited soon.

paulrutter and others added 2 commits May 22, 2026 15:23
# Conflicts:
#	http/base/pom.xml
#	http/jetty12/pom.xml
#	http/jetty12/src/test/java/org/apache/felix/http/jetty/it/AbstractJettyTestSupport.java
#	http/samples/whiteboard/pom.xml
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@paulrutter
Copy link
Copy Markdown
Contributor Author

paulrutter commented May 22, 2026

Can we revisit these changes now? Jetty is up to 12.1.9 now.

I have just updated it to 12.1.9.
If that succeeds, next up would be to discuss how to get this into the jetty12 bundle.
What i'm not sure about yet is if 12.1.9 is entirely backwards compatible with EE10, and thus, if the jetty12 bundle could safely move to 12.1.x or that we need to maintain two branches with 12.0.x and 12.1.x.

I guess it depends on how supportive we want to be; do we want to keep maintaining a EE10 version (i would assume so), while also offering a EE11 version? Or just a EE11 version when we increase jetty12 to 1.2.0, and keep maintaining a EE10 version in a jetty12 1.1.x branch?

@cziegeler any ideas on this?

@paulrutter paulrutter changed the title FELIX-6750 Try out Jetty 12.1.0 in Felix HTTP FELIX-6750 Update Felix HTTP to Jetty 12.1.9 May 22, 2026
…ranges

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@paulrutter paulrutter marked this pull request as ready for review May 22, 2026 14:07
@cziegeler
Copy link
Copy Markdown
Contributor

I think we can go with just a EE11 version, if our community demands to support a EE10 version we can still create a branch at that point in time.

@paulrutter
Copy link
Copy Markdown
Contributor Author

I think we can go with just a EE11 version, if our community demands to support a EE10 version we can still create a branch at that point in time.

Right, makes sense. So, shall we land this as 2.0.0 to signal the EE11 change? I personally still require EE10, so will probably keep maintaining a 1.1.x branch then for EE10.

@cziegeler
Copy link
Copy Markdown
Contributor

yes, 2.0.0 for EE11 sounds like a good idea

@paulrutter
Copy link
Copy Markdown
Contributor Author

Alright, i will take care of releasing this somewhere in the coming few weeks.

paulrutter and others added 2 commits May 26, 2026 09:13
…E11 and update maven-bundle-plugin to 6.0.2

- jetty12 bundle: 1.2.0-SNAPSHOT -> 2.0.0-SNAPSHOT (EE11 line)
- README: EE11 version range -> 2.x
- maven-bundle-plugin: 6.0.0 -> 6.0.2 in jetty12, samples/whiteboard, servlet-api, wrappers

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…L in past tense

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@paulrutter
Copy link
Copy Markdown
Contributor Author

@cziegeler i you could do a review of the PR, i will start the release process this week.

@paulrutter paulrutter requested a review from cziegeler May 26, 2026 07:47
Copy link
Copy Markdown
Contributor

@cziegeler cziegeler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm, thanks!

@paulrutter paulrutter merged commit ed1a72a into master May 28, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants