Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
fe8f5ed
Update scala3-library to 3.3.6 in series/0.24
http4s-steward[bot] May 8, 2025
ba4042a
0.24 and 0.25 are in RC status
rossabaker May 8, 2025
ec9ce74
Merge pull request #380 from http4s/update/series/0.24/scala3-library…
rossabaker May 8, 2025
0090a38
Merge pull request #381 from http4s/rossabaker-patch-3
rossabaker May 8, 2025
108d3b4
flake.lock: Update
http4s-steward[bot] May 20, 2025
a8fc051
Update sbt-http4s-org to 1.0.1 in series/0.24
http4s-steward[bot] May 20, 2025
f29784d
Run prePR with sbt-typelevel
http4s-steward[bot] May 20, 2025
60edfe1
Merge pull request #387 from http4s/update/flake-lock
rossabaker May 20, 2025
2d4d8bd
Merge pull request #388 from http4s/update/series/0.24/sbt-http4s-org…
rossabaker May 20, 2025
d14a76e
Update sbt, scripted-plugin to 1.11.1 in series/0.24
http4s-steward[bot] Jun 2, 2025
993e6ed
Merge pull request #390 from http4s/update/series/0.24/sbt-1.11.1
rossabaker Jun 2, 2025
5857a8d
flake.lock: Update
http4s-steward[bot] Jun 3, 2025
78f0727
Update sbt-http4s-org to 2.0.0 in series/0.24
http4s-steward[bot] Jun 5, 2025
6ae2f3f
Run prePR with sbt-typelevel
http4s-steward[bot] Jun 5, 2025
8739401
Merge pull request #394 from http4s/update/series/0.24/sbt-http4s-org…
rossabaker Jun 5, 2025
d71bac8
Merge pull request #391 from http4s/update/flake-lock
rossabaker Jun 6, 2025
52e6e31
Update sbt, scripted-plugin to 1.11.2 in series/0.24
http4s-steward[bot] Jun 7, 2025
54b3274
Merge pull request #395 from http4s/update/series/0.24/sbt-1.11.2
rossabaker Jun 9, 2025
68f1c2f
flake.lock: Update
http4s-steward[bot] Jun 24, 2025
fad84b2
Merge pull request #396 from http4s/update/flake-lock
rossabaker Jun 25, 2025
ba8fa96
Update sbt, scripted-plugin to 1.11.3 in series/0.24
http4s-steward[bot] Jul 5, 2025
3ec6643
flake.lock: Update
http4s-steward[bot] Jul 8, 2025
2dfdec3
Merge pull request #403 from http4s/update/flake-lock
rossabaker Jul 9, 2025
be6df96
Issue #397 - Drop servlet 3 and add support for Servlet 4 (Jakarta EE 8)
kevin-lee Jul 6, 2025
d0ab5eb
Add servlet test with Jetty to servlet-testing module
kevin-lee Jul 20, 2025
c5aa2c9
Merge pull request #404 from kevin-lee/issue/397/0.24-servlet4
rossabaker Jul 21, 2025
521b4a8
Merge pull request #402 from http4s/update/series/0.24/sbt-1.11.3
rossabaker Jul 21, 2025
79eeac7
Update async-http-client to 2.12.4 in series/0.24
http4s-steward[bot] Jul 21, 2025
fc5673e
Merge pull request #407 from http4s/update/series/0.24/async-http-cli…
rossabaker Jul 21, 2025
08be6ea
flake.lock: Update
http4s-steward[bot] Jul 22, 2025
910d540
Update cats-effect to 3.6.3 in series/0.24
http4s-steward[bot] Jul 23, 2025
14f9462
Merge pull request #410 from http4s/update/series/0.24/cats-effect-3.6.3
rossabaker Jul 23, 2025
ae833e5
Merge pull request #409 from http4s/update/flake-lock
rossabaker Jul 23, 2025
b1402e8
flake.lock: Update
http4s-steward[bot] Jul 29, 2025
f127353
Merge pull request #411 from http4s/update/flake-lock
rossabaker Jul 31, 2025
223d3da
Update sbt, scripted-plugin to 1.11.4 in series/0.24
http4s-steward[bot] Aug 4, 2025
a2943fb
Merge pull request #412 from http4s/update/series/0.24/sbt-1.11.4
rossabaker Aug 4, 2025
5bed139
flake.lock: Update
http4s-steward[bot] Aug 5, 2025
1315e7a
Merge pull request #413 from http4s/update/flake-lock
rossabaker Aug 5, 2025
b9e889f
Update jetty-ee8-runner to 12.0.24 in series/0.24
http4s-steward[bot] Aug 7, 2025
fd43814
Merge pull request #414 from http4s/update/series/0.24/jetty-ee8-runn…
rossabaker Aug 7, 2025
7c36061
flake.lock: Update
http4s-steward[bot] Aug 19, 2025
0b68a6f
Merge pull request #423 from http4s/update/flake-lock
rossabaker Aug 19, 2025
141602e
Update sbt, scripted-plugin to 1.11.5 in series/0.24
http4s-steward[bot] Aug 24, 2025
706bdb6
Merge pull request #424 from http4s/update/series/0.24/sbt-1.11.5
rossabaker Aug 25, 2025
ad1f3ea
Update sbt, scripted-plugin to 1.11.6 in series/0.24
http4s-steward[bot] Sep 7, 2025
45e8098
flake.lock: Update
http4s-steward[bot] Sep 9, 2025
3057230
Merge pull request #428 from http4s/update/series/0.24/sbt-1.11.6
rossabaker Sep 17, 2025
26fe9f1
Merge pull request #425 from http4s/update/flake-lock
rossabaker Sep 17, 2025
7390735
Update http4s-dsl, http4s-server to 0.23.31 in series/0.24
http4s-steward[bot] Sep 23, 2025
4cf0316
flake.lock: Update
http4s-steward[bot] Sep 23, 2025
b22170b
Merge pull request #432 from http4s/update/flake-lock
rossabaker Sep 23, 2025
1476a4f
Merge pull request #431 from http4s/update/series/0.24/http4s-server-…
rossabaker Sep 23, 2025
ff21a39
Update jetty-ee8-runner to 12.0.27 in series/0.24
http4s-steward[bot] Sep 23, 2025
d6cc8dc
Merge pull request #430 from http4s/update/series/0.24/jetty-ee8-runn…
rossabaker Sep 24, 2025
6da2009
Update sbt-http4s-org to 2.0.1 in series/0.24
http4s-steward[bot] Oct 3, 2025
dc38aff
Run prePR with sbt-typelevel
http4s-steward[bot] Oct 3, 2025
1b0c124
Merge pull request #434 from http4s/update/series/0.24/sbt-http4s-org…
rossabaker Oct 3, 2025
635946a
Update sbt, scripted-plugin to 1.11.7 in series/0.24
http4s-steward[bot] Oct 5, 2025
3fc3c61
flake.lock: Update
http4s-steward[bot] Oct 7, 2025
f23fa4b
Update jetty-ee8-runner to 12.0.28 in series/0.24
http4s-steward[bot] Oct 7, 2025
87a38de
Update sbt-http4s-org to 2.0.2 in series/0.24
http4s-steward[bot] Oct 11, 2025
8069297
Merge pull request #441 from http4s/update/series/0.24/sbt-http4s-org…
rossabaker Oct 14, 2025
bc6927d
Merge pull request #439 from http4s/update/series/0.24/jetty-ee8-runn…
rossabaker Oct 15, 2025
9dbf234
Merge pull request #438 from http4s/update/flake-lock
rossabaker Oct 15, 2025
f16ad56
Merge pull request #435 from http4s/update/series/0.24/sbt-1.11.7
rossabaker Oct 16, 2025
5815236
Update undertow-core, undertow-servlet to 2.2.38.Final in series/0.24
http4s-steward[bot] Nov 25, 2025
2879574
Update jetty-ee8-runner to 12.0.30 in series/0.24
http4s-steward[bot] Nov 25, 2025
524a52a
Update scala3-library to 3.3.7 in series/0.24
http4s-steward[bot] Nov 25, 2025
37d5e59
Update scalafmt-core to 3.9.10 in series/0.24
http4s-steward[bot] Nov 25, 2025
b303411
Update sbt-http4s-org to 2.0.3 in series/0.24
http4s-steward[bot] Nov 25, 2025
556a58c
Run prePR with sbt-typelevel
http4s-steward[bot] Nov 25, 2025
32fe360
Merge pull request #445 from http4s/update/series/0.24/jetty-ee8-runn…
rossabaker Nov 25, 2025
17eac87
Merge pull request #448 from http4s/update/series/0.24/scala3-library…
rossabaker Nov 25, 2025
56857e9
Merge pull request #449 from http4s/update/series/0.24/scalafmt-core-…
rossabaker Nov 25, 2025
deefcd9
Merge pull request #443 from http4s/update/series/0.24/undertow-core-…
rossabaker Nov 25, 2025
9f98fa1
Update scala-library to 2.13.18 in series/0.24
http4s-steward[bot] Nov 25, 2025
453a916
Update scalafmt-core to 3.10.1 in series/0.24
http4s-steward[bot] Nov 25, 2025
9d8eea8
Merge pull request #451 from http4s/update/series/0.24/scalafmt-core-…
rossabaker Nov 25, 2025
7a87650
Merge remote-tracking branch 'origin/update/series/0.24/scala-library…
rossabaker Nov 25, 2025
fc5b794
Merge remote-tracking branch 'origin/update/series/0.24/sbt-http4s-or…
rossabaker Nov 25, 2025
2bf5623
Remove unused SBT settings related to githubWorkflowJavaVersions
rossabaker Nov 25, 2025
66f5b6c
Merge pull request #452 from http4s/scala-2.13.18
rossabaker Nov 25, 2025
1a09e6d
Merge branch 'series/0.24' into series/0.25
rossabaker Nov 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions .github/workflows/ci-jetty-testing.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: "Continuous Integration (Testing with Jetty)"

on:
pull_request:
branches: ['**', '!update/**', '!pr/**']
push:
branches: ['**', '!update/**', '!pr/**']
tags: [v*]

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}


concurrency:
group: ${{ github.workflow }} @ ${{ github.ref }}
cancel-in-progress: true

jobs:
build:
name: Test
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04]
scala: [2.12, 2.13, 3]
java: [temurin@17]
project: [servletTesting]
runs-on: ${{ matrix.os }}
timeout-minutes: 60
steps:
- name: Checkout current branch (full)
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup sbt
uses: sbt/setup-sbt@v1

- name: Setup Java (temurin@17)
id: setup-java-temurin-17
if: matrix.java == 'temurin@17'
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
cache: sbt

- name: sbt update
if: matrix.java == 'temurin@17' && steps.setup-java-temurin-17.outputs.cache-hit == 'false'
run: sbt +update

- name: Check headers and formatting
if: matrix.java == 'temurin@17' && matrix.os == 'ubuntu-22.04'
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' headerCheckAll scalafmtCheckAll 'project /' scalafmtSbtCheck

- name: Test
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' test

- name: Check binary compatibility
if: matrix.java == 'temurin@17' && matrix.os == 'ubuntu-22.04'
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' mimaReportBinaryIssues

- name: Generate API documentation
if: matrix.java == 'temurin@17' && matrix.os == 'ubuntu-22.04'
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' doc

- name: Check scalafix lints
if: matrix.java == 'temurin@17' && !startsWith(matrix.scala, '3')
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' 'scalafixAll --check'

- name: Check unused compile dependencies
if: matrix.java == 'temurin@17'
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' unusedCompileDependenciesTest
110 changes: 83 additions & 27 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,28 +30,45 @@ jobs:
matrix:
os: [ubuntu-22.04]
scala: [2.12, 2.13, 3]
java: [temurin@11, temurin@17]
java: [temurin@8, temurin@11, temurin@17]
project: [rootJVM]
exclude:
- scala: 2.12
java: temurin@11
- scala: 2.12
java: temurin@17
- scala: 3
java: temurin@11
- scala: 3
java: temurin@17
runs-on: ${{ matrix.os }}
timeout-minutes: 60
steps:
- name: Checkout current branch (full)
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Setup sbt
uses: sbt/setup-sbt@v1

- name: Setup Java (temurin@8)
id: setup-java-temurin-8
if: matrix.java == 'temurin@8'
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 8
cache: sbt

- name: sbt update
if: matrix.java == 'temurin@8' && steps.setup-java-temurin-8.outputs.cache-hit == 'false'
run: sbt +update

- name: Setup Java (temurin@11)
id: setup-java-temurin-11
if: matrix.java == 'temurin@11'
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 11
Expand All @@ -64,7 +81,7 @@ jobs:
- name: Setup Java (temurin@17)
id: setup-java-temurin-17
if: matrix.java == 'temurin@17'
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 17
Expand All @@ -78,26 +95,26 @@ jobs:
run: sbt githubWorkflowCheck

- name: Check headers and formatting
if: matrix.java == 'temurin@11' && matrix.os == 'ubuntu-22.04'
if: matrix.java == 'temurin@8' && matrix.os == 'ubuntu-22.04'
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' headerCheckAll scalafmtCheckAll 'project /' scalafmtSbtCheck

- name: Test
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' test

- name: Check binary compatibility
if: matrix.java == 'temurin@11' && matrix.os == 'ubuntu-22.04'
if: matrix.java == 'temurin@8' && matrix.os == 'ubuntu-22.04'
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' mimaReportBinaryIssues

- name: Generate API documentation
if: matrix.java == 'temurin@11' && matrix.os == 'ubuntu-22.04'
if: matrix.java == 'temurin@8' && matrix.os == 'ubuntu-22.04'
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' doc

- name: Check scalafix lints
if: matrix.java == 'temurin@11' && !startsWith(matrix.scala, '3')
if: matrix.java == 'temurin@8' && !startsWith(matrix.scala, '3')
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' 'scalafixAll --check'

- name: Check unused compile dependencies
if: matrix.java == 'temurin@11'
if: matrix.java == 'temurin@8'
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' unusedCompileDependenciesTest

- name: Make target directories
Expand All @@ -110,7 +127,7 @@ jobs:

- name: Upload target directories
if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main')
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v5
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-${{ matrix.scala }}-${{ matrix.project }}
path: targets.tar
Expand All @@ -122,21 +139,34 @@ jobs:
strategy:
matrix:
os: [ubuntu-22.04]
java: [temurin@11]
java: [temurin@8]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout current branch (full)
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Setup sbt
uses: sbt/setup-sbt@v1

- name: Setup Java (temurin@8)
id: setup-java-temurin-8
if: matrix.java == 'temurin@8'
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 8
cache: sbt

- name: sbt update
if: matrix.java == 'temurin@8' && steps.setup-java-temurin-8.outputs.cache-hit == 'false'
run: sbt +update

- name: Setup Java (temurin@11)
id: setup-java-temurin-11
if: matrix.java == 'temurin@11'
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 11
Expand All @@ -149,7 +179,7 @@ jobs:
- name: Setup Java (temurin@17)
id: setup-java-temurin-17
if: matrix.java == 'temurin@17'
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 17
Expand All @@ -160,7 +190,7 @@ jobs:
run: sbt +update

- name: Download target directories (2.12, rootJVM)
uses: actions/download-artifact@v4
uses: actions/download-artifact@v6
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-2.12-rootJVM

Expand All @@ -170,7 +200,7 @@ jobs:
rm targets.tar

- name: Download target directories (2.13, rootJVM)
uses: actions/download-artifact@v4
uses: actions/download-artifact@v6
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-2.13-rootJVM

Expand All @@ -180,7 +210,7 @@ jobs:
rm targets.tar

- name: Download target directories (3, rootJVM)
uses: actions/download-artifact@v4
uses: actions/download-artifact@v6
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-3-rootJVM

Expand Down Expand Up @@ -219,21 +249,34 @@ jobs:
strategy:
matrix:
os: [ubuntu-22.04]
java: [temurin@11]
java: [temurin@8]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout current branch (full)
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Setup sbt
uses: sbt/setup-sbt@v1

- name: Setup Java (temurin@8)
id: setup-java-temurin-8
if: matrix.java == 'temurin@8'
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 8
cache: sbt

- name: sbt update
if: matrix.java == 'temurin@8' && steps.setup-java-temurin-8.outputs.cache-hit == 'false'
run: sbt +update

- name: Setup Java (temurin@11)
id: setup-java-temurin-11
if: matrix.java == 'temurin@11'
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 11
Expand All @@ -246,7 +289,7 @@ jobs:
- name: Setup Java (temurin@17)
id: setup-java-temurin-17
if: matrix.java == 'temurin@17'
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 17
Expand All @@ -259,7 +302,7 @@ jobs:
- name: Submit Dependencies
uses: scalacenter/sbt-dependency-submission@v2
with:
modules-ignore: http4s-servlet-examples_2.12 http4s-servlet-examples_2.13 http4s-servlet-examples_3 rootjs_2.12 rootjs_2.13 rootjs_3 docs_2.12 docs_2.13 docs_3 rootjvm_2.12 rootjvm_2.13 rootjvm_3 rootnative_2.12 rootnative_2.13 rootnative_3 sbt-http4s-org-scalafix-internal_2.12 sbt-http4s-org-scalafix-internal_2.13 sbt-http4s-org-scalafix-internal_3
modules-ignore: http4s-servlet-examples_2.12 http4s-servlet-examples_2.13 http4s-servlet-examples_3 http4s-servlet-testing_2.12 http4s-servlet-testing_2.13 http4s-servlet-testing_3 rootjs_2.12 rootjs_2.13 rootjs_3 docs_2.12 docs_2.13 docs_3 rootjvm_2.12 rootjvm_2.13 rootjvm_3 rootnative_2.12 rootnative_2.13 rootnative_3 sbt-http4s-org-scalafix-internal_2.12 sbt-http4s-org-scalafix-internal_2.13 sbt-http4s-org-scalafix-internal_3
configs-ignore: test scala-tool scala-doc-tool test-internal

validate-steward:
Expand All @@ -271,12 +314,12 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout current branch (fast)
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup Java (temurin@11)
id: setup-java-temurin-11
if: matrix.java == 'temurin@11'
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 11
Expand All @@ -296,17 +339,30 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout current branch (full)
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Setup sbt
uses: sbt/setup-sbt@v1

- name: Setup Java (temurin@8)
id: setup-java-temurin-8
if: matrix.java == 'temurin@8'
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 8
cache: sbt

- name: sbt update
if: matrix.java == 'temurin@8' && steps.setup-java-temurin-8.outputs.cache-hit == 'false'
run: sbt +update

- name: Setup Java (temurin@11)
id: setup-java-temurin-11
if: matrix.java == 'temurin@11'
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 11
Expand All @@ -319,7 +375,7 @@ jobs:
- name: Setup Java (temurin@17)
id: setup-java-temurin-17
if: matrix.java == 'temurin@17'
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 17
Expand Down
2 changes: 1 addition & 1 deletion .scalafmt.conf
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version = 3.9.4
version = 3.10.1

style = default

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ libraryDependencies ++= Seq(
| http4s-servlet | http4s-core | servlet-api | Scala 2.12 | Scala 2.13 | Scala 3 | Status |
|:---------------|:------------|:------------|------------|------------|---------|:----------|
| 0.23.x | 0.23.x | 3.1 | ✅ | ✅ | ✅ | Stable |
| 0.24.x | 0.23.x | 4.0 | ✅ | ✅ | ✅ | Milestone |
| 0.25.x | 0.23.x | 5.0 | ✅ | ✅ | ✅ | Milestone |
| 0.24.x | 0.23.x | 4.0 | ✅ | ✅ | ✅ | RC |
| 0.25.x | 0.23.x | 5.0 | ✅ | ✅ | ✅ | RC |

[http4s-jetty]: https://github.com/http4s/http4s-jetty/
[http4s-tomcat]: https://github.com/http4s/http4s-tomcat/
Loading
Loading