Skip to content

feat: introduce JavalinJackson3 as an optional JsonMapper implementation for Jackson 3#2548

Merged
tipsy merged 15 commits into
javalin:masterfrom
yvasyliev:feature/jackson3
Mar 22, 2026
Merged

feat: introduce JavalinJackson3 as an optional JsonMapper implementation for Jackson 3#2548
tipsy merged 15 commits into
javalin:masterfrom
yvasyliev:feature/jackson3

Conversation

@yvasyliev

@yvasyliev yvasyliev commented Mar 4, 2026

Copy link
Copy Markdown
Contributor

Note

Update: the PR is ready for review.

This pull request introduces support for Jackson 3 as a new JSON mapper in the Javalin framework, alongside the existing Jackson 2 integration. The main changes add the JavalinJackson3 implementation, update dependency management to include Jackson 3 modules, and provide thorough testing for the new mapper. These updates allow users to leverage the latest Jackson features and improve JSON handling flexibility.

The implementation is inspired by JavalinJackson.

Changelist

  • Introduced Jackson 3 optional dependencies to the project.
    • com.fasterxml.jackson.datatype:jackson-datatype-eclipse-collections was never declared as optional dependency in the project, so neither was tools.jackson.datatype:jackson-datatype-eclipse-collections.
  • Added new JavalinJackson3 class implementing JsonMapper for Jackson 3 support.
  • JACKSON3, JACKSON3_KT and JACKSON3_ECLIPSE_COLLECTIONS constants were added to CoreDependency.
    • org.ktorm:ktorm-jackson hasn't got any releases for years, and there's no Jackson 3 support, so JACKSON3_KTORM constant was omitted.
  • JavalinJackson3 was covered with unit tests via TestJavalinJackson3.

The build and tests passed locally. I managed to successfully verify the change by including the artifact into the other project.

@yvasyliev yvasyliev changed the title Feature/jackson3 feature: make Jackson 3 a default JSON mapper Mar 4, 2026
@tipsy

tipsy commented Mar 4, 2026

Copy link
Copy Markdown
Member

This PR is in progress. Please do not merge it.

I'll hold the review, but please note that we just published 7x, and we cannot change the default Jackson mapper until 8x.

We can introduce JavalinJackson3 and let users register it through config.jsonMapper(JavalinJackson3()), but it must be a purely additive change.

@codecov

codecov Bot commented Mar 6, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 97.72727% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 86.37%. Comparing base (962e215) to head (6d7bd78).
⚠️ Report is 16 commits behind head on master.

Files with missing lines Patch % Lines
...n/src/main/java/io/javalin/json/JavalinJackson3.kt 97.56% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##             master    #2548      +/-   ##
============================================
+ Coverage     86.29%   86.37%   +0.08%     
- Complexity     1509     1526      +17     
============================================
  Files           155      156       +1     
  Lines          4348     4403      +55     
  Branches        523      530       +7     
============================================
+ Hits           3752     3803      +51     
- Misses          363      366       +3     
- Partials        233      234       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@yvasyliev yvasyliev changed the title feature: make Jackson 3 a default JSON mapper feature: introduce JavalinJackson3 as an optional JsonMapper implementation for Jackson 3 Mar 7, 2026
@yvasyliev yvasyliev marked this pull request as ready for review March 7, 2026 18:04
@yvasyliev

Copy link
Copy Markdown
Contributor Author

Hey @tipsy thanks for the prompt reply!

I made this PR keep Jackson 2 the default JSON mapper.

PR description is updated. The PR is ready for review.

Thanks!

@vorburger

vorburger commented Mar 10, 2026

Copy link
Copy Markdown
Contributor

We can introduce JavalinJackson3 and let users register it through config.jsonMapper(JavalinJackson3()), but it must be a purely additive change.

@tipsy just a quick "user adoption" feedback, in case that's a useful datapoint: I just wrote (ctrl-w had AI write me...) my very own JavalinJackson3... then thought "hey wait maybe this already exists" - and found this PR! (Thank You @yvasyliev) Just wanted to let you know that while sticking with backwards compability is understandable and makes perfect sense, there are at least 2 users out there in wild who would use this whenever this will be released.

@vorburger

Copy link
Copy Markdown
Contributor

... my very own JavalinJackson3 ... who would use this whenever this will be released

Actually, this wouldn't quite work as-is for me, perhaps this feedback interests (both of) you:

When configured with this (as-is), Javalin can't handle Jackson 2 annotated types anymore, e.g. com.fasterxml.jackson.databind.annotation.JsonDeserialize. In "pure" Jackson 3 only projects, that's fine. But in projects with existing types that haven't migrated to Jackson 3 annotations only yet it wouldn't work, perhaps because they depend on external libraries (yes, I'm looking at you, googleapis/java-genai#868, for example). In my project's own JavalinJackson3 I'm handling this by still supporting both (by neccessity, not choice.)

This PR should probably still be merged as-is for a Jackson 3 only as initial version. But Javalin would need something that can offer both Jackson 2 and Jackson 3, possibly for a while. I suspect that could be implemented as a JavalinJackson23 (?) which wraps and delegates to either JavalinJackson2 or JavalinJackson3. I could contribute that, if there is interest, after this has been merged.

@yvasyliev yvasyliev changed the title feature: introduce JavalinJackson3 as an optional JsonMapper implementation for Jackson 3 feat: introduce JavalinJackson3 as an optional JsonMapper implementation for Jackson 3 Mar 11, 2026
@tipsy

tipsy commented Mar 12, 2026

Copy link
Copy Markdown
Member

augment review

@augmentcode

augmentcode Bot commented Mar 12, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: Adds an opt-in Jackson 3 JSON mapper implementation for Javalin without changing the existing default (Jackson 2).

Changes:

  • Introduces JavalinJackson3 implementing JsonMapper on top of Jackson 3’s tools.jackson.databind.json.JsonMapper
  • Adds Jackson 3 optional dependency metadata via new CoreDependency.JACKSON3* constants
  • Updates JPMS module-info.java with requires static entries for Jackson 3 modules
  • Extends Maven dependency management by importing the Jackson 3 BOM and adds optional Jackson 3 dependencies in the javalin module
  • Adds a dedicated TestJavalinJackson3 suite covering streaming, (de)serialization, and missing-dependency behavior

Technical Notes: The change is additive/opt-in (users must explicitly configure config.jsonMapper(JavalinJackson3())) and keeps existing Jackson 2 behavior intact.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Review completed. 2 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

Comment thread javalin/pom.xml Outdated
Comment thread javalin/src/test/java/io/javalin/TestJavalinJackson3.kt Outdated
@yvasyliev

Copy link
Copy Markdown
Contributor Author

Please review again

@tipsy

tipsy commented Mar 13, 2026

Copy link
Copy Markdown
Member

augment review

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Review completed. 3 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

Comment thread javalin/src/main/java/io/javalin/json/JavalinJackson3.kt
Comment thread javalin/pom.xml
Comment thread javalin/src/test/java/io/javalin/TestJavalinJackson3.kt
@yvasyliev

Copy link
Copy Markdown
Contributor Author

I resolved the review comments. If possible, please review again 🙏

@tipsy

tipsy commented Mar 19, 2026

Copy link
Copy Markdown
Member

augment review

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Review completed. 1 suggestion posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

Comment thread javalin/src/test/java/io/javalin/TestJavalinJackson3.kt Outdated
@tipsy

tipsy commented Mar 19, 2026

Copy link
Copy Markdown
Member

@yvasyliev I can do a human review in the weekend :)

@tipsy tipsy merged commit edfb887 into javalin:master Mar 22, 2026
9 checks passed
@tipsy

tipsy commented Mar 22, 2026

Copy link
Copy Markdown
Member

Thanks @yvasyliev, merged !

@yvasyliev yvasyliev deleted the feature/jackson3 branch March 22, 2026 16:28
mergify Bot added a commit to robfrank/linklift that referenced this pull request May 3, 2026
Bumps `javalin.version` from 7.1.0 to 7.2.0.
Updates `io.javalin:javalin-bundle` from 7.1.0 to 7.2.0
Release notes

*Sourced from [io.javalin:javalin-bundle's releases](https://github.com/javalin/javalin/releases).*

> 7.2.0
> -----
>
> What's Changed
> --------------
>
> * [performance] Replace Stream API with List and reduce per-request allocations by [`@​tipsy`](https://github.com/tipsy) in [javalin/javalin#2567](https://redirect.github.com/javalin/javalin/pull/2567)
> * feat: introduce `JavalinJackson3` as an optional `JsonMapper` implementation for Jackson 3 by [`@​yvasyliev`](https://github.com/yvasyliev) in [javalin/javalin#2548](https://redirect.github.com/javalin/javalin/pull/2548)
> * [workflow]: Bump codecov/codecov-action from 5.5.2 to 5.5.3 in the dependencies group by [`@​dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2569](https://redirect.github.com/javalin/javalin/pull/2569)
> * Add path role inheritance by [`@​AoElite`](https://github.com/AoElite) in [javalin/javalin#2553](https://redirect.github.com/javalin/javalin/pull/2553)
> * [deps]: Bump the dependencies group across 1 directory with 23 updates by [`@​dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2575](https://redirect.github.com/javalin/javalin/pull/2575)
> * [workflow]: Bump codecov/codecov-action from 5.5.3 to 6.0.0 in the dependencies group across 1 directory by [`@​dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2570](https://redirect.github.com/javalin/javalin/pull/2570)
> * [workflow]: Bump actions/github-script from 8 to 9 in the dependencies group by [`@​dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2581](https://redirect.github.com/javalin/javalin/pull/2581)
> * [cleanup] Remove JavalinTest.class by [`@​vorburger`](https://github.com/vorburger) in [javalin/javalin#2584](https://redirect.github.com/javalin/javalin/pull/2584)
> * [deps] Bump Jetty from 12.1.7 to 12.1.8 by [`@​vorburger`](https://github.com/vorburger) in [javalin/javalin#2585](https://redirect.github.com/javalin/javalin/pull/2585)
> * Add ability to emit plain data messages in SSE by [`@​1cg`](https://github.com/1cg) in [javalin/javalin#2578](https://redirect.github.com/javalin/javalin/pull/2578)
> * fix: sanitize newlines in SSE event and id fields by [`@​eddieran`](https://github.com/eddieran) in [javalin/javalin#2580](https://redirect.github.com/javalin/javalin/pull/2580)
> * [deps] Bump stable deps and sync OptionalDependency.kt by [`@​tipsy`](https://github.com/tipsy) in [javalin/javalin#2588](https://redirect.github.com/javalin/javalin/pull/2588)
>
> New Contributors
> ----------------
>
> * [`@​AoElite`](https://github.com/AoElite) made their first contribution in [javalin/javalin#2553](https://redirect.github.com/javalin/javalin/pull/2553)
> * [`@​vorburger`](https://github.com/vorburger) made their first contribution in [javalin/javalin#2584](https://redirect.github.com/javalin/javalin/pull/2584)
> * [`@​1cg`](https://github.com/1cg) made their first contribution in [javalin/javalin#2578](https://redirect.github.com/javalin/javalin/pull/2578)
> * [`@​eddieran`](https://github.com/eddieran) made their first contribution in [javalin/javalin#2580](https://redirect.github.com/javalin/javalin/pull/2580)
>
> **Full Changelog**: <javalin/javalin@javalin-parent-7.1.0...javalin-parent-7.2.0>


Commits

* [`c67b118`](javalin/javalin@c67b118) [maven-release-plugin] prepare release javalin-parent-7.2.0
* [`b89fdf7`](javalin/javalin@b89fdf7) [deps] Bump stable deps and sync OptionalDependency.kt ([#2588](https://redirect.github.com/javalin/javalin/issues/2588))
* [`a3ad657`](javalin/javalin@a3ad657) [sse] Sanitize newlines in event and id fields
* [`e0f5458`](javalin/javalin@e0f5458) [sse] Add ability to emit plain data messages
* [`fa51869`](javalin/javalin@fa51869) [deps] Bump Jetty from 12.1.7 to 12.1.8 ([#2585](https://redirect.github.com/javalin/javalin/issues/2585))
* [`4bc70e9`](javalin/javalin@4bc70e9) [cleanup] Remove JavalinTest.class ([#2584](https://redirect.github.com/javalin/javalin/issues/2584))
* [`1901feb`](javalin/javalin@1901feb) [workflow]: Bump actions/github-script in the dependencies group ([#2581](https://redirect.github.com/javalin/javalin/issues/2581))
* [`152f7b3`](javalin/javalin@152f7b3) [workflow]: Bump codecov/codecov-action in the dependencies group ([#2570](https://redirect.github.com/javalin/javalin/issues/2570))
* [`2c4d1ef`](javalin/javalin@2c4d1ef) [deps]: Bump the dependencies group across 1 directory with 23 updates ([#2575](https://redirect.github.com/javalin/javalin/issues/2575))
* [`64f3a75`](javalin/javalin@64f3a75) [apibuilder] Refactor role-scoping internals to Kotlin
* Additional commits viewable in [compare view](javalin/javalin@7.1.0...javalin-parent-7.2.0)
  
Updates `io.javalin.community.openapi:javalin-openapi-plugin` from 7.1.0 to 7.2.0
Release notes

*Sourced from [io.javalin.community.openapi:javalin-openapi-plugin's releases](https://github.com/javalin/javalin-openapi/releases).*

> 7.2.0
> -----
>
> **Changes**
>
> * Bumped Javalin to 7.2.0
>
> **Sponsors**
> Thanks to everyone who supported me this month 💜
>
> **Minimal requirements**
>
> * Java 17+ / Kotlin 2.3+
> * Javalin 7.2.0
>
> 7.1.1-rc.1
> ----------
>
> **Changes**
>
> * [javalin/javalin-openapi#275](https://redirect.github.com/javalin/javalin-openapi/issues/275) [Make ClassLoader used for loading resources configurable](javalin/javalin-openapi@de1b6b7)
>
> **Sponsors**
> Thanks to everyone who supported me this month 💜

... (truncated)


Commits

* [`123e727`](javalin/javalin-openapi@123e727) [GH-279](https://redirect.github.com/javalin/javalin-openapi/issues/279) Adjust to Javalin's breaking changed in InternalRouter
* [`3ea0e98`](javalin/javalin-openapi@3ea0e98) [GH-279](https://redirect.github.com/javalin/javalin-openapi/issues/279) Release 7.2.0 (Resolves [#279](https://redirect.github.com/javalin/javalin-openapi/issues/279))
* [`0471f8a`](javalin/javalin-openapi@0471f8a) [GH-277](https://redirect.github.com/javalin/javalin-openapi/issues/277) Release 7.1.1-rc.2
* [`3831f78`](javalin/javalin-openapi@3831f78) [GH-277](https://redirect.github.com/javalin/javalin-openapi/issues/277) Cover handling of complex types in query parameters (Resolves [#277](https://redirect.github.com/javalin/javalin-openapi/issues/277))
* See full diff in [compare view](javalin/javalin-openapi@7.1.0...7.2.0)
  
Updates `io.javalin.community.openapi:javalin-swagger-plugin` from 7.1.0 to 7.2.0
Release notes

*Sourced from [io.javalin.community.openapi:javalin-swagger-plugin's releases](https://github.com/javalin/javalin-openapi/releases).*

> 7.2.0
> -----
>
> **Changes**
>
> * Bumped Javalin to 7.2.0
>
> **Sponsors**
> Thanks to everyone who supported me this month 💜
>
> **Minimal requirements**
>
> * Java 17+ / Kotlin 2.3+
> * Javalin 7.2.0
>
> 7.1.1-rc.1
> ----------
>
> **Changes**
>
> * [javalin/javalin-openapi#275](https://redirect.github.com/javalin/javalin-openapi/issues/275) [Make ClassLoader used for loading resources configurable](javalin/javalin-openapi@de1b6b7)
>
> **Sponsors**
> Thanks to everyone who supported me this month 💜

... (truncated)


Commits

* [`123e727`](javalin/javalin-openapi@123e727) [GH-279](https://redirect.github.com/javalin/javalin-openapi/issues/279) Adjust to Javalin's breaking changed in InternalRouter
* [`3ea0e98`](javalin/javalin-openapi@3ea0e98) [GH-279](https://redirect.github.com/javalin/javalin-openapi/issues/279) Release 7.2.0 (Resolves [#279](https://redirect.github.com/javalin/javalin-openapi/issues/279))
* [`0471f8a`](javalin/javalin-openapi@0471f8a) [GH-277](https://redirect.github.com/javalin/javalin-openapi/issues/277) Release 7.1.1-rc.2
* [`3831f78`](javalin/javalin-openapi@3831f78) [GH-277](https://redirect.github.com/javalin/javalin-openapi/issues/277) Cover handling of complex types in query parameters (Resolves [#277](https://redirect.github.com/javalin/javalin-openapi/issues/277))
* See full diff in [compare view](javalin/javalin-openapi@7.1.0...7.2.0)
  
Updates `io.javalin:javalin-micrometer` from 7.1.0 to 7.2.0
Release notes

*Sourced from [io.javalin:javalin-micrometer's releases](https://github.com/javalin/javalin/releases).*

> 7.2.0
> -----
>
> What's Changed
> --------------
>
> * [performance] Replace Stream API with List and reduce per-request allocations by [`@​tipsy`](https://github.com/tipsy) in [javalin/javalin#2567](https://redirect.github.com/javalin/javalin/pull/2567)
> * feat: introduce `JavalinJackson3` as an optional `JsonMapper` implementation for Jackson 3 by [`@​yvasyliev`](https://github.com/yvasyliev) in [javalin/javalin#2548](https://redirect.github.com/javalin/javalin/pull/2548)
> * [workflow]: Bump codecov/codecov-action from 5.5.2 to 5.5.3 in the dependencies group by [`@​dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2569](https://redirect.github.com/javalin/javalin/pull/2569)
> * Add path role inheritance by [`@​AoElite`](https://github.com/AoElite) in [javalin/javalin#2553](https://redirect.github.com/javalin/javalin/pull/2553)
> * [deps]: Bump the dependencies group across 1 directory with 23 updates by [`@​dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2575](https://redirect.github.com/javalin/javalin/pull/2575)
> * [workflow]: Bump codecov/codecov-action from 5.5.3 to 6.0.0 in the dependencies group across 1 directory by [`@​dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2570](https://redirect.github.com/javalin/javalin/pull/2570)
> * [workflow]: Bump actions/github-script from 8 to 9 in the dependencies group by [`@​dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2581](https://redirect.github.com/javalin/javalin/pull/2581)
> * [cleanup] Remove JavalinTest.class by [`@​vorburger`](https://github.com/vorburger) in [javalin/javalin#2584](https://redirect.github.com/javalin/javalin/pull/2584)
> * [deps] Bump Jetty from 12.1.7 to 12.1.8 by [`@​vorburger`](https://github.com/vorburger) in [javalin/javalin#2585](https://redirect.github.com/javalin/javalin/pull/2585)
> * Add ability to emit plain data messages in SSE by [`@​1cg`](https://github.com/1cg) in [javalin/javalin#2578](https://redirect.github.com/javalin/javalin/pull/2578)
> * fix: sanitize newlines in SSE event and id fields by [`@​eddieran`](https://github.com/eddieran) in [javalin/javalin#2580](https://redirect.github.com/javalin/javalin/pull/2580)
> * [deps] Bump stable deps and sync OptionalDependency.kt by [`@​tipsy`](https://github.com/tipsy) in [javalin/javalin#2588](https://redirect.github.com/javalin/javalin/pull/2588)
>
> New Contributors
> ----------------
>
> * [`@​AoElite`](https://github.com/AoElite) made their first contribution in [javalin/javalin#2553](https://redirect.github.com/javalin/javalin/pull/2553)
> * [`@​vorburger`](https://github.com/vorburger) made their first contribution in [javalin/javalin#2584](https://redirect.github.com/javalin/javalin/pull/2584)
> * [`@​1cg`](https://github.com/1cg) made their first contribution in [javalin/javalin#2578](https://redirect.github.com/javalin/javalin/pull/2578)
> * [`@​eddieran`](https://github.com/eddieran) made their first contribution in [javalin/javalin#2580](https://redirect.github.com/javalin/javalin/pull/2580)
>
> **Full Changelog**: <javalin/javalin@javalin-parent-7.1.0...javalin-parent-7.2.0>


Commits

* [`c67b118`](javalin/javalin@c67b118) [maven-release-plugin] prepare release javalin-parent-7.2.0
* [`b89fdf7`](javalin/javalin@b89fdf7) [deps] Bump stable deps and sync OptionalDependency.kt ([#2588](https://redirect.github.com/javalin/javalin/issues/2588))
* [`a3ad657`](javalin/javalin@a3ad657) [sse] Sanitize newlines in event and id fields
* [`e0f5458`](javalin/javalin@e0f5458) [sse] Add ability to emit plain data messages
* [`fa51869`](javalin/javalin@fa51869) [deps] Bump Jetty from 12.1.7 to 12.1.8 ([#2585](https://redirect.github.com/javalin/javalin/issues/2585))
* [`4bc70e9`](javalin/javalin@4bc70e9) [cleanup] Remove JavalinTest.class ([#2584](https://redirect.github.com/javalin/javalin/issues/2584))
* [`1901feb`](javalin/javalin@1901feb) [workflow]: Bump actions/github-script in the dependencies group ([#2581](https://redirect.github.com/javalin/javalin/issues/2581))
* [`152f7b3`](javalin/javalin@152f7b3) [workflow]: Bump codecov/codecov-action in the dependencies group ([#2570](https://redirect.github.com/javalin/javalin/issues/2570))
* [`2c4d1ef`](javalin/javalin@2c4d1ef) [deps]: Bump the dependencies group across 1 directory with 23 updates ([#2575](https://redirect.github.com/javalin/javalin/issues/2575))
* [`64f3a75`](javalin/javalin@64f3a75) [apibuilder] Refactor role-scoping internals to Kotlin
* Additional commits viewable in [compare view](javalin/javalin@7.1.0...javalin-parent-7.2.0)
  
Updates `io.javalin:javalin-testtools` from 7.1.0 to 7.2.0
Release notes

*Sourced from [io.javalin:javalin-testtools's releases](https://github.com/javalin/javalin/releases).*

> 7.2.0
> -----
>
> What's Changed
> --------------
>
> * [performance] Replace Stream API with List and reduce per-request allocations by [`@​tipsy`](https://github.com/tipsy) in [javalin/javalin#2567](https://redirect.github.com/javalin/javalin/pull/2567)
> * feat: introduce `JavalinJackson3` as an optional `JsonMapper` implementation for Jackson 3 by [`@​yvasyliev`](https://github.com/yvasyliev) in [javalin/javalin#2548](https://redirect.github.com/javalin/javalin/pull/2548)
> * [workflow]: Bump codecov/codecov-action from 5.5.2 to 5.5.3 in the dependencies group by [`@​dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2569](https://redirect.github.com/javalin/javalin/pull/2569)
> * Add path role inheritance by [`@​AoElite`](https://github.com/AoElite) in [javalin/javalin#2553](https://redirect.github.com/javalin/javalin/pull/2553)
> * [deps]: Bump the dependencies group across 1 directory with 23 updates by [`@​dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2575](https://redirect.github.com/javalin/javalin/pull/2575)
> * [workflow]: Bump codecov/codecov-action from 5.5.3 to 6.0.0 in the dependencies group across 1 directory by [`@​dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2570](https://redirect.github.com/javalin/javalin/pull/2570)
> * [workflow]: Bump actions/github-script from 8 to 9 in the dependencies group by [`@​dependabot`](https://github.com/dependabot)[bot] in [javalin/javalin#2581](https://redirect.github.com/javalin/javalin/pull/2581)
> * [cleanup] Remove JavalinTest.class by [`@​vorburger`](https://github.com/vorburger) in [javalin/javalin#2584](https://redirect.github.com/javalin/javalin/pull/2584)
> * [deps] Bump Jetty from 12.1.7 to 12.1.8 by [`@​vorburger`](https://github.com/vorburger) in [javalin/javalin#2585](https://redirect.github.com/javalin/javalin/pull/2585)
> * Add ability to emit plain data messages in SSE by [`@​1cg`](https://github.com/1cg) in [javalin/javalin#2578](https://redirect.github.com/javalin/javalin/pull/2578)
> * fix: sanitize newlines in SSE event and id fields by [`@​eddieran`](https://github.com/eddieran) in [javalin/javalin#2580](https://redirect.github.com/javalin/javalin/pull/2580)
> * [deps] Bump stable deps and sync OptionalDependency.kt by [`@​tipsy`](https://github.com/tipsy) in [javalin/javalin#2588](https://redirect.github.com/javalin/javalin/pull/2588)
>
> New Contributors
> ----------------
>
> * [`@​AoElite`](https://github.com/AoElite) made their first contribution in [javalin/javalin#2553](https://redirect.github.com/javalin/javalin/pull/2553)
> * [`@​vorburger`](https://github.com/vorburger) made their first contribution in [javalin/javalin#2584](https://redirect.github.com/javalin/javalin/pull/2584)
> * [`@​1cg`](https://github.com/1cg) made their first contribution in [javalin/javalin#2578](https://redirect.github.com/javalin/javalin/pull/2578)
> * [`@​eddieran`](https://github.com/eddieran) made their first contribution in [javalin/javalin#2580](https://redirect.github.com/javalin/javalin/pull/2580)
>
> **Full Changelog**: <javalin/javalin@javalin-parent-7.1.0...javalin-parent-7.2.0>


Commits

* [`c67b118`](javalin/javalin@c67b118) [maven-release-plugin] prepare release javalin-parent-7.2.0
* [`b89fdf7`](javalin/javalin@b89fdf7) [deps] Bump stable deps and sync OptionalDependency.kt ([#2588](https://redirect.github.com/javalin/javalin/issues/2588))
* [`a3ad657`](javalin/javalin@a3ad657) [sse] Sanitize newlines in event and id fields
* [`e0f5458`](javalin/javalin@e0f5458) [sse] Add ability to emit plain data messages
* [`fa51869`](javalin/javalin@fa51869) [deps] Bump Jetty from 12.1.7 to 12.1.8 ([#2585](https://redirect.github.com/javalin/javalin/issues/2585))
* [`4bc70e9`](javalin/javalin@4bc70e9) [cleanup] Remove JavalinTest.class ([#2584](https://redirect.github.com/javalin/javalin/issues/2584))
* [`1901feb`](javalin/javalin@1901feb) [workflow]: Bump actions/github-script in the dependencies group ([#2581](https://redirect.github.com/javalin/javalin/issues/2581))
* [`152f7b3`](javalin/javalin@152f7b3) [workflow]: Bump codecov/codecov-action in the dependencies group ([#2570](https://redirect.github.com/javalin/javalin/issues/2570))
* [`2c4d1ef`](javalin/javalin@2c4d1ef) [deps]: Bump the dependencies group across 1 directory with 23 updates ([#2575](https://redirect.github.com/javalin/javalin/issues/2575))
* [`64f3a75`](javalin/javalin@64f3a75) [apibuilder] Refactor role-scoping internals to Kotlin
* Additional commits viewable in [compare view](javalin/javalin@7.1.0...javalin-parent-7.2.0)
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.

3 participants