Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #2180 +/- ##
============================================
+ Coverage 86.54% 86.68% +0.13%
+ Complexity 1446 1435 -11
============================================
Files 153 153
Lines 4200 4184 -16
Branches 477 468 -9
============================================
- Hits 3635 3627 -8
+ Misses 369 364 -5
+ Partials 196 193 -3 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
765b7d0 to
6faa186
Compare
12e07b7 to
34371f6
Compare
34371f6 to
6d6d995
Compare
|
How is this PR going @Playacem ? |
|
I have been quite busy with real life, but I finally have some time this weekend to work on it. |
Me too, no rush |
6d6d995 to
1df3f7d
Compare
8740c5c to
4cdeb24
Compare
I guess it's ready for review? 😅 |
|
It is :) |
There was a problem hiding this comment.
Pull Request Overview
This pull request updates the CORS support to use JDK’s URI class for more robust origin parsing. Key changes include updating tests to use parameterized inputs for various origin scenarios (IPv4, IPv6, wildcards), refactoring CorsUtils to remove the PortResult abstraction in favor of boolean validations and exception handling, and revising CorsPlugin to integrate with the new utility methods.
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| javalin/src/test/java/io/javalin/TestCorsUtils.kt | Replaces individual tests with parameterized tests and updates origin parsing expectations |
| javalin/src/test/java/io/javalin/TestCors.kt | Adds new tests for IPv4/IPv6 and wildcard handling and verifies error messages for invalid origins |
| javalin/src/main/java/io/javalin/plugin/bundled/CorsUtils.kt | Removes PortResult, adds URI‑based origin validation and parsing, and handles wildcard origins |
| javalin/src/main/java/io/javalin/plugin/bundled/CorsPlugin.kt | Updates usage of CorsUtils methods and refines error handling for origin validation |
| val wildcardSnippet = "://*." | ||
| val hasWildcard = wildcardSnippet in origin | ||
| if (client && hasWildcard) { | ||
| return false | ||
| } | ||
| val possiblePortDigits = origin.subSequence(possiblePortIndex + 1, origin.length).toString() | ||
| if (possiblePortDigits.any { !it.isAsciiDigit() }) { | ||
| return PortResult.ErrorState.InvalidPort | ||
| val originWithoutWildcard = origin.replace(wildcardSnippet, "://") |
There was a problem hiding this comment.
[nitpick] Consider handling possible variations of wildcard placement or formatting rather than relying solely on the literal substring "://*." to ensure robust matching.
| val wildcardSnippet = "://*." | |
| val hasWildcard = wildcardSnippet in origin | |
| if (client && hasWildcard) { | |
| return false | |
| } | |
| val possiblePortDigits = origin.subSequence(possiblePortIndex + 1, origin.length).toString() | |
| if (possiblePortDigits.any { !it.isAsciiDigit() }) { | |
| return PortResult.ErrorState.InvalidPort | |
| val originWithoutWildcard = origin.replace(wildcardSnippet, "://") | |
| val wildcardRegex = Regex("://\\*\\.") | |
| val hasWildcard = wildcardRegex.containsMatchIn(origin) | |
| if (client && hasWildcard) { | |
| return false | |
| } | |
| val originWithoutWildcard = origin.replace(wildcardRegex, "://") |
| return PortResult.ErrorState.InvalidPort | ||
| val originWithoutWildcard = origin.replace(wildcardSnippet, "://") | ||
| val originToAnalyze = if (hasWildcard) originWithoutWildcard else origin | ||
| try { |
There was a problem hiding this comment.
[nitpick] Consider catching more specific exceptions (e.g. URISyntaxException) here instead of a generic Exception to make error handling more explicit.
We need to specify junit-jupiter-params directly to force JUnit 6. We previously had this on our classpath as a transitive dependency from mockk, leading to a version mismatch and failing parameterized tests. We could also switch over to the junit-jupiter artifact which combines api, params and runtime.
|
Looks great @Playacem, thank you very much 🙌 |
Bumps `javalin.version` from 6.7.0 to 7.0.1. Updates `io.javalin:javalin-bundle` from 6.7.0 to 7.0.1 Release notes *Sourced from [io.javalin:javalin-bundle's releases](https://github.com/javalin/javalin/releases).* > 7.0.1 > ----- > > What's Changed > -------------- > > * [readme] v7 release updates by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2527](https://redirect.github.com/javalin/javalin/pull/2527) > * [micrometer] Fix interference with user-configured request logger by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2533](https://redirect.github.com/javalin/javalin/pull/2533) > * [logging] Allow for multiple request loggers by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2539](https://redirect.github.com/javalin/javalin/pull/2539) > > **Full Changelog**: <javalin/javalin@javalin-parent-7.0.0...javalin-parent-7.0.1> > > 7.0.0 > ----- > > What's Changed > -------------- > > * Fix infinite loop in custom exception handling by [`@LordOfLeaks`](https://github.com/LordOfLeaks) in [javalin/javalin#2423](https://redirect.github.com/javalin/javalin/pull/2423) > * [workflow]: Bump actions/checkout from 4 to 5 in the dependencies group by [`@dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2428](https://redirect.github.com/javalin/javalin/pull/2428) > * Add comprehensive GitHub Copilot instructions with commit message convention by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2433](https://redirect.github.com/javalin/javalin/pull/2433) > * Bump and rename sslcontext-kickstart to ayza by [`@Hakky54`](https://github.com/Hakky54) in [javalin/javalin#2434](https://redirect.github.com/javalin/javalin/pull/2434) > * Update Javalin to version 7.0.0-SNAPSHOT with Java 17 requirement by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2431](https://redirect.github.com/javalin/javalin/pull/2431) > * Improve test suite by adding HTTP status code assertions and cleaning up static files tests by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2437](https://redirect.github.com/javalin/javalin/pull/2437) > * [core] Migrate to Jetty 12 by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2444](https://redirect.github.com/javalin/javalin/pull/2444) > * [workflow]: Bump the dependencies group with 3 updates by [`@dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2445](https://redirect.github.com/javalin/javalin/pull/2445) > * Optimize static file handling by leveraging Jetty 12 native capabilities by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2447](https://redirect.github.com/javalin/javalin/pull/2447) > * Upgrade Kotlin from 1.9.25 to 2.0.21 and remove JTE integration by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2452](https://redirect.github.com/javalin/javalin/pull/2452) > * [deps] Update Pebble to 3.2.4 and fix package imports for CVE security fix by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2453](https://redirect.github.com/javalin/javalin/pull/2453) > * Update all dependencies and plugins to latest stable versions by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2456](https://redirect.github.com/javalin/javalin/pull/2456) > * [context] add support for quoted charset in content-type header ([#2448](https://redirect.github.com/javalin/javalin/issues/2448)) by [`@Pinusar`](https://github.com/Pinusar) in [javalin/javalin#2449](https://redirect.github.com/javalin/javalin/pull/2449) > * Add onUpgrade method to WebSocket RequestLogger by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2450](https://redirect.github.com/javalin/javalin/pull/2450) > * Fix cookie handling in JavalinTest client by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2459](https://redirect.github.com/javalin/javalin/pull/2459) > * Replace OkHTTP with native JDK HttpClient in javalin-testtools by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2461](https://redirect.github.com/javalin/javalin/pull/2461) > * [ssl] Drop Conscrypt ALPN support from SSL Plugin by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2464](https://redirect.github.com/javalin/javalin/pull/2464) > * [compression] Add preferred compressors list by [`@fabiobento512`](https://github.com/fabiobento512) in [javalin/javalin#2427](https://redirect.github.com/javalin/javalin/pull/2427) > * Add Zstandard compression support using zstd-jni by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2465](https://redirect.github.com/javalin/javalin/pull/2465) > * Fix Missing Allow Header in HTTP 405 Responses by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2468](https://redirect.github.com/javalin/javalin/pull/2468) > * [sse] Relax Accept header validation to support multiple content types by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2474](https://redirect.github.com/javalin/javalin/pull/2474) > * [routing] Support custom HTTP methods by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2478](https://redirect.github.com/javalin/javalin/pull/2478) > * [tests] Fix flakiness in TestRateLimitUtil by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2477](https://redirect.github.com/javalin/javalin/pull/2477) > * [javalin] Move routing to config by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2479](https://redirect.github.com/javalin/javalin/pull/2479) > * [maven] Refactor modules by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2481](https://redirect.github.com/javalin/javalin/pull/2481) > * [github] Improve copilot-instructions.md with comprehensive Javalin patterns and philosophy by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2483](https://redirect.github.com/javalin/javalin/pull/2483) > * [core] Introduce endpoint stack and utilize endpoints more by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2486](https://redirect.github.com/javalin/javalin/pull/2486) > * [async] Improve async handling by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2489](https://redirect.github.com/javalin/javalin/pull/2489) > * [deps] Upgrade OkHttp to 5.3.0 by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2496](https://redirect.github.com/javalin/javalin/pull/2496) > * [core] Add config option to disable old version check warning by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2499](https://redirect.github.com/javalin/javalin/pull/2499) > * Add static keyword to wsBefore and wsAfter in ApiBuilder by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2501](https://redirect.github.com/javalin/javalin/pull/2501) > * [deps] Update Pebble to 4.0.0 by [`@kamenitxan`](https://github.com/kamenitxan) in [javalin/javalin#2502](https://redirect.github.com/javalin/javalin/pull/2502) > * [workflow]: Bump actions/checkout from 5 to 6 in the dependencies group by [`@dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2503](https://redirect.github.com/javalin/javalin/pull/2503) > * [config] Rework JavalinConfig by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2504](https://redirect.github.com/javalin/javalin/pull/2504) > * [tests] Add missing test cases by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2506](https://redirect.github.com/javalin/javalin/pull/2506) > * [cors] Use JDK's URI class by [`@Playacem`](https://github.com/Playacem) in [javalin/javalin#2180](https://redirect.github.com/javalin/javalin/pull/2180) > * [micrometer] Restore Micrometer plugin for Javalin7/Jetty12 by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2511](https://redirect.github.com/javalin/javalin/pull/2511) > * [json] Fix NoClassDefFoundError for ObjectMapper on Kotlin 2.x by [`@fahrradflucht`](https://github.com/fahrradflucht) in [javalin/javalin#2510](https://redirect.github.com/javalin/javalin/pull/2510) > * Extend Context#redirect to beforeMatched and rename skipIfExceptionOccurred by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2515](https://redirect.github.com/javalin/javalin/pull/2515) > * [routing] Clean up unused interfaces and generics by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2517](https://redirect.github.com/javalin/javalin/pull/2517) ... (truncated) Commits * [`bbe55e5`](javalin/javalin@bbe55e5) [maven-release-plugin] prepare release javalin-parent-7.0.1 * [`f5a4934`](javalin/javalin@f5a4934) [logging] Allow for multiple request loggers ([#2539](https://redirect.github.com/javalin/javalin/issues/2539)) * [`e134377`](javalin/javalin@e134377) [micrometer] Fix interference with user-configured request logger ([#2533](https://redirect.github.com/javalin/javalin/issues/2533)) * [`5b5b2fb`](javalin/javalin@5b5b2fb) [websocket] Fix attributes set in wsBeforeUpgrade not persisting to onConnect * [`d4b8c5b`](javalin/javalin@d4b8c5b) [ratelimitplugin] Fix regression in default key function * [`698995d`](javalin/javalin@698995d) [endpoints] Add option to get the future matched enpoint * [`9c3461f`](javalin/javalin@9c3461f) [docs] Update for v7 * [`6821dea`](javalin/javalin@6821dea) [maven-release-plugin] prepare for next development iteration * [`3e02e28`](javalin/javalin@3e02e28) [maven-release-plugin] prepare release javalin-parent-7.0.0 * [`a02ecb7`](javalin/javalin@a02ecb7) [pom] Publish aggregator poms to fix release deploy * Additional commits viewable in [compare view](javalin/javalin@javalin-parent-6.7.0...javalin-parent-7.0.1) Updates `io.javalin.community.openapi:javalin-openapi-plugin` from 6.7.0 to 7.0.1 Release notes *Sourced from [io.javalin.community.openapi:javalin-openapi-plugin's releases](https://github.com/javalin/javalin-openapi/releases).* > 7.0.0 > ----- > > **Changes** > > * See: <https://javalin.github.io/javalin-openapi/introduction/migration-from-6x.html> > > **Sponsors** > Thanks to everyone who supported me this month 💜 > > **Minimal requirements** > > * Java 17+ / Kotlin 2.3+ > * Javalin 7.0.0 > > **Download** > > * [Wiki / Installation](https://github.com/javalin/javalin-openapi/wiki/1.-Installation) > > 7.0.0-beta.1 > ------------ > > **Changes** > > * Support Javalin 7.0.0-beta.1 > > **Sponsors** > Thanks to everyone who supported me this month 💜 ... (truncated) Commits * [`4a073c8`](javalin/javalin-openapi@4a073c8) [GH-274](https://redirect.github.com/javalin/javalin-openapi/issues/274) Release 7.0.1 (Resolves [#274](https://redirect.github.com/javalin/javalin-openapi/issues/274)) * [`11d10d5`](javalin/javalin-openapi@11d10d5) [GH-273](https://redirect.github.com/javalin/javalin-openapi/issues/273) Restructure dependencies (Fixes [#272](https://redirect.github.com/javalin/javalin-openapi/issues/272)) * [`41b3061`](javalin/javalin-openapi@41b3061) [GH-271](https://redirect.github.com/javalin/javalin-openapi/issues/271) Migration guide from 6.x * [`1669065`](javalin/javalin-openapi@1669065) [GH-271](https://redirect.github.com/javalin/javalin-openapi/issues/271) Redesign core implementation for Javalin 7.x * [`0c6ba93`](javalin/javalin-openapi@0c6ba93) [GH-268](https://redirect.github.com/javalin/javalin-openapi/issues/268) Replace wiki reference with a new docs in README ([#268](https://redirect.github.com/javalin/javalin-openapi/issues/268)) * [`5346ada`](javalin/javalin-openapi@5346ada) chore: adjust module resource path formatting in readme * [`dd49a03`](javalin/javalin-openapi@dd49a03) fix: modify OpenAPI plugin resource path description * [`13e6778`](javalin/javalin-openapi@13e6778) chore: update README for Javalin 7.x changes * [`57ff8f7`](javalin/javalin-openapi@57ff8f7) [GH-264](https://redirect.github.com/javalin/javalin-openapi/issues/264) Drop GitHub Wiki * [`b94bc1f`](javalin/javalin-openapi@b94bc1f) [GH-264](https://redirect.github.com/javalin/javalin-openapi/issues/264) Define custom base path for docs deployed to GitHub pages * Additional commits viewable in [compare view](javalin/javalin-openapi@6.7.0...7.0.1) Updates `io.javalin.community.openapi:javalin-swagger-plugin` from 6.7.0 to 7.0.1 Release notes *Sourced from [io.javalin.community.openapi:javalin-swagger-plugin's releases](https://github.com/javalin/javalin-openapi/releases).* > 7.0.0 > ----- > > **Changes** > > * See: <https://javalin.github.io/javalin-openapi/introduction/migration-from-6x.html> > > **Sponsors** > Thanks to everyone who supported me this month 💜 > > **Minimal requirements** > > * Java 17+ / Kotlin 2.3+ > * Javalin 7.0.0 > > **Download** > > * [Wiki / Installation](https://github.com/javalin/javalin-openapi/wiki/1.-Installation) > > 7.0.0-beta.1 > ------------ > > **Changes** > > * Support Javalin 7.0.0-beta.1 > > **Sponsors** > Thanks to everyone who supported me this month 💜 ... (truncated) Commits * [`4a073c8`](javalin/javalin-openapi@4a073c8) [GH-274](https://redirect.github.com/javalin/javalin-openapi/issues/274) Release 7.0.1 (Resolves [#274](https://redirect.github.com/javalin/javalin-openapi/issues/274)) * [`11d10d5`](javalin/javalin-openapi@11d10d5) [GH-273](https://redirect.github.com/javalin/javalin-openapi/issues/273) Restructure dependencies (Fixes [#272](https://redirect.github.com/javalin/javalin-openapi/issues/272)) * [`41b3061`](javalin/javalin-openapi@41b3061) [GH-271](https://redirect.github.com/javalin/javalin-openapi/issues/271) Migration guide from 6.x * [`1669065`](javalin/javalin-openapi@1669065) [GH-271](https://redirect.github.com/javalin/javalin-openapi/issues/271) Redesign core implementation for Javalin 7.x * [`0c6ba93`](javalin/javalin-openapi@0c6ba93) [GH-268](https://redirect.github.com/javalin/javalin-openapi/issues/268) Replace wiki reference with a new docs in README ([#268](https://redirect.github.com/javalin/javalin-openapi/issues/268)) * [`5346ada`](javalin/javalin-openapi@5346ada) chore: adjust module resource path formatting in readme * [`dd49a03`](javalin/javalin-openapi@dd49a03) fix: modify OpenAPI plugin resource path description * [`13e6778`](javalin/javalin-openapi@13e6778) chore: update README for Javalin 7.x changes * [`57ff8f7`](javalin/javalin-openapi@57ff8f7) [GH-264](https://redirect.github.com/javalin/javalin-openapi/issues/264) Drop GitHub Wiki * [`b94bc1f`](javalin/javalin-openapi@b94bc1f) [GH-264](https://redirect.github.com/javalin/javalin-openapi/issues/264) Define custom base path for docs deployed to GitHub pages * Additional commits viewable in [compare view](javalin/javalin-openapi@6.7.0...7.0.1) Updates `io.javalin:javalin-micrometer` from 6.7.0 to 7.0.1 Release notes *Sourced from [io.javalin:javalin-micrometer's releases](https://github.com/javalin/javalin/releases).* > 7.0.1 > ----- > > What's Changed > -------------- > > * [readme] v7 release updates by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2527](https://redirect.github.com/javalin/javalin/pull/2527) > * [micrometer] Fix interference with user-configured request logger by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2533](https://redirect.github.com/javalin/javalin/pull/2533) > * [logging] Allow for multiple request loggers by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2539](https://redirect.github.com/javalin/javalin/pull/2539) > > **Full Changelog**: <javalin/javalin@javalin-parent-7.0.0...javalin-parent-7.0.1> > > 7.0.0 > ----- > > What's Changed > -------------- > > * Fix infinite loop in custom exception handling by [`@LordOfLeaks`](https://github.com/LordOfLeaks) in [javalin/javalin#2423](https://redirect.github.com/javalin/javalin/pull/2423) > * [workflow]: Bump actions/checkout from 4 to 5 in the dependencies group by [`@dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2428](https://redirect.github.com/javalin/javalin/pull/2428) > * Add comprehensive GitHub Copilot instructions with commit message convention by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2433](https://redirect.github.com/javalin/javalin/pull/2433) > * Bump and rename sslcontext-kickstart to ayza by [`@Hakky54`](https://github.com/Hakky54) in [javalin/javalin#2434](https://redirect.github.com/javalin/javalin/pull/2434) > * Update Javalin to version 7.0.0-SNAPSHOT with Java 17 requirement by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2431](https://redirect.github.com/javalin/javalin/pull/2431) > * Improve test suite by adding HTTP status code assertions and cleaning up static files tests by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2437](https://redirect.github.com/javalin/javalin/pull/2437) > * [core] Migrate to Jetty 12 by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2444](https://redirect.github.com/javalin/javalin/pull/2444) > * [workflow]: Bump the dependencies group with 3 updates by [`@dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2445](https://redirect.github.com/javalin/javalin/pull/2445) > * Optimize static file handling by leveraging Jetty 12 native capabilities by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2447](https://redirect.github.com/javalin/javalin/pull/2447) > * Upgrade Kotlin from 1.9.25 to 2.0.21 and remove JTE integration by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2452](https://redirect.github.com/javalin/javalin/pull/2452) > * [deps] Update Pebble to 3.2.4 and fix package imports for CVE security fix by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2453](https://redirect.github.com/javalin/javalin/pull/2453) > * Update all dependencies and plugins to latest stable versions by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2456](https://redirect.github.com/javalin/javalin/pull/2456) > * [context] add support for quoted charset in content-type header ([#2448](https://redirect.github.com/javalin/javalin/issues/2448)) by [`@Pinusar`](https://github.com/Pinusar) in [javalin/javalin#2449](https://redirect.github.com/javalin/javalin/pull/2449) > * Add onUpgrade method to WebSocket RequestLogger by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2450](https://redirect.github.com/javalin/javalin/pull/2450) > * Fix cookie handling in JavalinTest client by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2459](https://redirect.github.com/javalin/javalin/pull/2459) > * Replace OkHTTP with native JDK HttpClient in javalin-testtools by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2461](https://redirect.github.com/javalin/javalin/pull/2461) > * [ssl] Drop Conscrypt ALPN support from SSL Plugin by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2464](https://redirect.github.com/javalin/javalin/pull/2464) > * [compression] Add preferred compressors list by [`@fabiobento512`](https://github.com/fabiobento512) in [javalin/javalin#2427](https://redirect.github.com/javalin/javalin/pull/2427) > * Add Zstandard compression support using zstd-jni by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2465](https://redirect.github.com/javalin/javalin/pull/2465) > * Fix Missing Allow Header in HTTP 405 Responses by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2468](https://redirect.github.com/javalin/javalin/pull/2468) > * [sse] Relax Accept header validation to support multiple content types by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2474](https://redirect.github.com/javalin/javalin/pull/2474) > * [routing] Support custom HTTP methods by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2478](https://redirect.github.com/javalin/javalin/pull/2478) > * [tests] Fix flakiness in TestRateLimitUtil by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2477](https://redirect.github.com/javalin/javalin/pull/2477) > * [javalin] Move routing to config by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2479](https://redirect.github.com/javalin/javalin/pull/2479) > * [maven] Refactor modules by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2481](https://redirect.github.com/javalin/javalin/pull/2481) > * [github] Improve copilot-instructions.md with comprehensive Javalin patterns and philosophy by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2483](https://redirect.github.com/javalin/javalin/pull/2483) > * [core] Introduce endpoint stack and utilize endpoints more by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2486](https://redirect.github.com/javalin/javalin/pull/2486) > * [async] Improve async handling by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2489](https://redirect.github.com/javalin/javalin/pull/2489) > * [deps] Upgrade OkHttp to 5.3.0 by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2496](https://redirect.github.com/javalin/javalin/pull/2496) > * [core] Add config option to disable old version check warning by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2499](https://redirect.github.com/javalin/javalin/pull/2499) > * Add static keyword to wsBefore and wsAfter in ApiBuilder by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2501](https://redirect.github.com/javalin/javalin/pull/2501) > * [deps] Update Pebble to 4.0.0 by [`@kamenitxan`](https://github.com/kamenitxan) in [javalin/javalin#2502](https://redirect.github.com/javalin/javalin/pull/2502) > * [workflow]: Bump actions/checkout from 5 to 6 in the dependencies group by [`@dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2503](https://redirect.github.com/javalin/javalin/pull/2503) > * [config] Rework JavalinConfig by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2504](https://redirect.github.com/javalin/javalin/pull/2504) > * [tests] Add missing test cases by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2506](https://redirect.github.com/javalin/javalin/pull/2506) > * [cors] Use JDK's URI class by [`@Playacem`](https://github.com/Playacem) in [javalin/javalin#2180](https://redirect.github.com/javalin/javalin/pull/2180) > * [micrometer] Restore Micrometer plugin for Javalin7/Jetty12 by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2511](https://redirect.github.com/javalin/javalin/pull/2511) > * [json] Fix NoClassDefFoundError for ObjectMapper on Kotlin 2.x by [`@fahrradflucht`](https://github.com/fahrradflucht) in [javalin/javalin#2510](https://redirect.github.com/javalin/javalin/pull/2510) > * Extend Context#redirect to beforeMatched and rename skipIfExceptionOccurred by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2515](https://redirect.github.com/javalin/javalin/pull/2515) > * [routing] Clean up unused interfaces and generics by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2517](https://redirect.github.com/javalin/javalin/pull/2517) ... (truncated) Commits * [`bbe55e5`](javalin/javalin@bbe55e5) [maven-release-plugin] prepare release javalin-parent-7.0.1 * [`f5a4934`](javalin/javalin@f5a4934) [logging] Allow for multiple request loggers ([#2539](https://redirect.github.com/javalin/javalin/issues/2539)) * [`e134377`](javalin/javalin@e134377) [micrometer] Fix interference with user-configured request logger ([#2533](https://redirect.github.com/javalin/javalin/issues/2533)) * [`5b5b2fb`](javalin/javalin@5b5b2fb) [websocket] Fix attributes set in wsBeforeUpgrade not persisting to onConnect * [`d4b8c5b`](javalin/javalin@d4b8c5b) [ratelimitplugin] Fix regression in default key function * [`698995d`](javalin/javalin@698995d) [endpoints] Add option to get the future matched enpoint * [`9c3461f`](javalin/javalin@9c3461f) [docs] Update for v7 * [`6821dea`](javalin/javalin@6821dea) [maven-release-plugin] prepare for next development iteration * [`3e02e28`](javalin/javalin@3e02e28) [maven-release-plugin] prepare release javalin-parent-7.0.0 * [`a02ecb7`](javalin/javalin@a02ecb7) [pom] Publish aggregator poms to fix release deploy * Additional commits viewable in [compare view](javalin/javalin@javalin-parent-6.7.0...javalin-parent-7.0.1) Updates `io.javalin:javalin-testtools` from 6.7.0 to 7.0.1 Release notes *Sourced from [io.javalin:javalin-testtools's releases](https://github.com/javalin/javalin/releases).* > 7.0.1 > ----- > > What's Changed > -------------- > > * [readme] v7 release updates by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2527](https://redirect.github.com/javalin/javalin/pull/2527) > * [micrometer] Fix interference with user-configured request logger by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2533](https://redirect.github.com/javalin/javalin/pull/2533) > * [logging] Allow for multiple request loggers by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2539](https://redirect.github.com/javalin/javalin/pull/2539) > > **Full Changelog**: <javalin/javalin@javalin-parent-7.0.0...javalin-parent-7.0.1> > > 7.0.0 > ----- > > What's Changed > -------------- > > * Fix infinite loop in custom exception handling by [`@LordOfLeaks`](https://github.com/LordOfLeaks) in [javalin/javalin#2423](https://redirect.github.com/javalin/javalin/pull/2423) > * [workflow]: Bump actions/checkout from 4 to 5 in the dependencies group by [`@dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2428](https://redirect.github.com/javalin/javalin/pull/2428) > * Add comprehensive GitHub Copilot instructions with commit message convention by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2433](https://redirect.github.com/javalin/javalin/pull/2433) > * Bump and rename sslcontext-kickstart to ayza by [`@Hakky54`](https://github.com/Hakky54) in [javalin/javalin#2434](https://redirect.github.com/javalin/javalin/pull/2434) > * Update Javalin to version 7.0.0-SNAPSHOT with Java 17 requirement by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2431](https://redirect.github.com/javalin/javalin/pull/2431) > * Improve test suite by adding HTTP status code assertions and cleaning up static files tests by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2437](https://redirect.github.com/javalin/javalin/pull/2437) > * [core] Migrate to Jetty 12 by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2444](https://redirect.github.com/javalin/javalin/pull/2444) > * [workflow]: Bump the dependencies group with 3 updates by [`@dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2445](https://redirect.github.com/javalin/javalin/pull/2445) > * Optimize static file handling by leveraging Jetty 12 native capabilities by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2447](https://redirect.github.com/javalin/javalin/pull/2447) > * Upgrade Kotlin from 1.9.25 to 2.0.21 and remove JTE integration by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2452](https://redirect.github.com/javalin/javalin/pull/2452) > * [deps] Update Pebble to 3.2.4 and fix package imports for CVE security fix by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2453](https://redirect.github.com/javalin/javalin/pull/2453) > * Update all dependencies and plugins to latest stable versions by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2456](https://redirect.github.com/javalin/javalin/pull/2456) > * [context] add support for quoted charset in content-type header ([#2448](https://redirect.github.com/javalin/javalin/issues/2448)) by [`@Pinusar`](https://github.com/Pinusar) in [javalin/javalin#2449](https://redirect.github.com/javalin/javalin/pull/2449) > * Add onUpgrade method to WebSocket RequestLogger by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2450](https://redirect.github.com/javalin/javalin/pull/2450) > * Fix cookie handling in JavalinTest client by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2459](https://redirect.github.com/javalin/javalin/pull/2459) > * Replace OkHTTP with native JDK HttpClient in javalin-testtools by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2461](https://redirect.github.com/javalin/javalin/pull/2461) > * [ssl] Drop Conscrypt ALPN support from SSL Plugin by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2464](https://redirect.github.com/javalin/javalin/pull/2464) > * [compression] Add preferred compressors list by [`@fabiobento512`](https://github.com/fabiobento512) in [javalin/javalin#2427](https://redirect.github.com/javalin/javalin/pull/2427) > * Add Zstandard compression support using zstd-jni by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2465](https://redirect.github.com/javalin/javalin/pull/2465) > * Fix Missing Allow Header in HTTP 405 Responses by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2468](https://redirect.github.com/javalin/javalin/pull/2468) > * [sse] Relax Accept header validation to support multiple content types by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2474](https://redirect.github.com/javalin/javalin/pull/2474) > * [routing] Support custom HTTP methods by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2478](https://redirect.github.com/javalin/javalin/pull/2478) > * [tests] Fix flakiness in TestRateLimitUtil by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2477](https://redirect.github.com/javalin/javalin/pull/2477) > * [javalin] Move routing to config by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2479](https://redirect.github.com/javalin/javalin/pull/2479) > * [maven] Refactor modules by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2481](https://redirect.github.com/javalin/javalin/pull/2481) > * [github] Improve copilot-instructions.md with comprehensive Javalin patterns and philosophy by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2483](https://redirect.github.com/javalin/javalin/pull/2483) > * [core] Introduce endpoint stack and utilize endpoints more by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2486](https://redirect.github.com/javalin/javalin/pull/2486) > * [async] Improve async handling by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2489](https://redirect.github.com/javalin/javalin/pull/2489) > * [deps] Upgrade OkHttp to 5.3.0 by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2496](https://redirect.github.com/javalin/javalin/pull/2496) > * [core] Add config option to disable old version check warning by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2499](https://redirect.github.com/javalin/javalin/pull/2499) > * Add static keyword to wsBefore and wsAfter in ApiBuilder by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2501](https://redirect.github.com/javalin/javalin/pull/2501) > * [deps] Update Pebble to 4.0.0 by [`@kamenitxan`](https://github.com/kamenitxan) in [javalin/javalin#2502](https://redirect.github.com/javalin/javalin/pull/2502) > * [workflow]: Bump actions/checkout from 5 to 6 in the dependencies group by [`@dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2503](https://redirect.github.com/javalin/javalin/pull/2503) > * [config] Rework JavalinConfig by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2504](https://redirect.github.com/javalin/javalin/pull/2504) > * [tests] Add missing test cases by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2506](https://redirect.github.com/javalin/javalin/pull/2506) > * [cors] Use JDK's URI class by [`@Playacem`](https://github.com/Playacem) in [javalin/javalin#2180](https://redirect.github.com/javalin/javalin/pull/2180) > * [micrometer] Restore Micrometer plugin for Javalin7/Jetty12 by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2511](https://redirect.github.com/javalin/javalin/pull/2511) > * [json] Fix NoClassDefFoundError for ObjectMapper on Kotlin 2.x by [`@fahrradflucht`](https://github.com/fahrradflucht) in [javalin/javalin#2510](https://redirect.github.com/javalin/javalin/pull/2510) > * Extend Context#redirect to beforeMatched and rename skipIfExceptionOccurred by [`@Copilot`](https://github.com/Copilot) in [javalin/javalin#2515](https://redirect.github.com/javalin/javalin/pull/2515) > * [routing] Clean up unused interfaces and generics by [`@tipsy`](https://github.com/tipsy) in [javalin/javalin#2517](https://redirect.github.com/javalin/javalin/pull/2517) ... (truncated) Commits * [`bbe55e5`](javalin/javalin@bbe55e5) [maven-release-plugin] prepare release javalin-parent-7.0.1 * [`f5a4934`](javalin/javalin@f5a4934) [logging] Allow for multiple request loggers ([#2539](https://redirect.github.com/javalin/javalin/issues/2539)) * [`e134377`](javalin/javalin@e134377) [micrometer] Fix interference with user-configured request logger ([#2533](https://redirect.github.com/javalin/javalin/issues/2533)) * [`5b5b2fb`](javalin/javalin@5b5b2fb) [websocket] Fix attributes set in wsBeforeUpgrade not persisting to onConnect * [`d4b8c5b`](javalin/javalin@d4b8c5b) [ratelimitplugin] Fix regression in default key function * [`698995d`](javalin/javalin@698995d) [endpoints] Add option to get the future matched enpoint * [`9c3461f`](javalin/javalin@9c3461f) [docs] Update for v7 * [`6821dea`](javalin/javalin@6821dea) [maven-release-plugin] prepare for next development iteration * [`3e02e28`](javalin/javalin@3e02e28) [maven-release-plugin] prepare release javalin-parent-7.0.0 * [`a02ecb7`](javalin/javalin@a02ecb7) [pom] Publish aggregator poms to fix release deploy * Additional commits viewable in [compare view](javalin/javalin@javalin-parent-6.7.0...javalin-parent-7.0.1) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Todos:
Fixes #2138 (once its done)