OAuth bootstrap: App.bootstrap(args).oauth() with pre-defined configuration structure

customizable session management: My.sessionManager(…​) - in-memory by default

customizable JSON parser for the HTTP request body: My.jsonRequestBodyParser(…​) - using Jackson by default

customizable JPA management: My.entityManagerFactoryProvider(…​) and My.entityManagerProvider(…​)

customizable security strategy when serving serving static files: My.staticFilesSecurity(…​)

customizable templates path: My.templatesPath(…​)

customizable templates loader (e.g. load them from DB): My.templateLoader(…​)

customizable error handlers by type: On.error(…​).handler(…​)

customizable wrappers of the HTTP handlers (request/response interceptors): My.wrappers(…​)

redesigned token API (previously known as the cookie-pack session)

smart serialization of the session and token - only when changed

basic reverse proxy (easily configurable from command-line or Docker)

round-robin load balancer (enabled by default in the reverse proxy)

customizable context path for web applications

great performance improvements in the built-in template engine

few GUI enhancements

several bug fixes