Important: This news article covers an old version of Javalin (v3.5.0). The current version is v6.1.3.
See the documentation page for up-to-date information.

First - Thanks for contributing!

This release consists mainly of code contributed by the Javalin community. Some features were written by the core team, but the majority were not. Each community contribution is tagged with who contributed it. Thank to everyone for taking part in the community and helping to make Javalin a better project!

Core improvements

  • The wsServlet is now publicly available on Javalin (thanks to @MrRamych).
  • Validation and casting is now available for headers: ctx.header<Int>("my-header") (thanks to @Peroniada).
  • The ctx.basicAuthCredentials() method now either returns valid credentials, or throws.
  • Misc dependencies have been bumped (thanks to @mpe85).

OpenAPI improvements

  • Default documentation are now applied first (thanks to @TobiasWalle).
  • Warnings are now logged in case of path mismatches (thanks to @TobiasWalle).
  • Fixed some reflection issues with extended classes (thanks to @TobiasWalle).
  • Fixed security scheme (thanks to @maxemann96).
  • Fixed bug with Swagger UI and ReDoc now being handled correctly by AccessManager.
  • Removed CorsPlugin paths from docs (thanks to @maxemann96).
  • Improved default responses (thanks to @maxemann96).
  • Added option to ignore certain paths and path-groups (thanks to @maxemann96).

JavalinVue improvements

  • You can now set the vue directory (thanks to @jorunfa).
  • You can now use a tag shorthands. VueComponent("my-tag") instead of VueComponent("<my-tag></my-tag>").
  • The plugin will now crash on unknown components (catches typos).
  • Files on localhost are now properly closed after being read (thanks to @jorunfa).