Javalin 2.0 supports WebJars web libraries, JSON modularization

Version 2.0 of Javalin, a lightweight framework for the Java and Kotlin languages, is now shipping.

Supporting HTTP/2 and async requests, Javalin 2.0 provides interoperability between Java and Kotlin and is intended to be simple to use.

Changes made since the Version 1.7 release in May include:

  • Support for WebJars client-side web libraries.
  • Modularization of JSON and template functionality, so developers can plug in their own mappers/rendering engines.
  • The addition of a CRUDhandler to remove boilerplate from creating standard CRUD (create, read, update, delete) APIs.
  • Improved support for single-page applications.
  • Better exception handling for async requests.
  • The Pac4 security library.
  • Template functionality has been moved to a single function that uses the correct engine, based on file extension.
  • Rewritten WebSocket implementation.
  • Rewritten test suite.
  • A RequestLogger interface has been added.
  • Default values have been changed in some instances.
  • Functions return list instead of array.
  • Empty collections are returned instead of null.

Rather than being a full web framework, Javalin is a lightweight REST API library, or microframework. Although Javalin has no concept of MVC, its support of WebSockets, template engines, and static file-serving lets Javalin be used for building a RESTful API back end and serving index.html with static resources, if a developer is building a single-page application. To build a more traditional website, template engine wrappers can be used. The framework began as a fork of the Spark framework for Java and Kotlin but was rewritten, influenced by the Koa.js web framework.

GitLab 11.2 devops platform gets better Android, Jira, Hangouts integration

The Version 11.2 release of the GitLab devops platform enhances its Web IDE editor as well as Android support.

With its client-side evaluation capability, Web IDE now lets developers preview a JavaScript web app, to view changes in real time. Fixes can be tested before being committed or experiments can be done on them. Developers also can contribute to an open source project with no need to clone locally.

Powering client-side evaluation is the CodeBox online editor for web applications.  The capability can be enabled for self-managed GitLab instances and already is enabled for projects on GitLab.com. Server-side evaluation is planned for later in 2018, to test Ruby applications and more.

GitLab 11.2 also includes:

  • For Android projects, support for XML manifest files enables import of larger project structures with multiple repositories. Previously, importing complex structures with multiple substructures was tedious and time-consuming. XML manifest files contain metadata for groups of repositories.
  • Improved search, in which project- and group-scoping have been removed from the search bar. This is intended to make search easier to use, as instances grow and projects and groups multiply and become hard to find.
  • Status messages are being brought to the user’s personal profile. Collaborators can know each other’s status.
  • Issue board milestone lists, in which all issues assigned to a given milestone appear on a milestone list. Issues can be moved across different milestones.
  • A cloud-native GitLab chart for Helm, the Kubernetes package manager, is now out of beta.
  • Instance-wide custom project templates enable starting of new projects quickly by automating repetitive setup tasks. Also, builtin project templates now use Dockerfiles instead of the Herokuish utility.
  • A capability to define whether any license should be approved or blacklisted for an application.
  • JUnit test results can be seen directly in the merge request widget.
  • Integration with Google Hangouts, with users able to receive a variety of GitLab events as notifications directly in Hangouts.
  • For teams using the Jira issue tracker, multiple Jira transition IDs are supported. GitLab can recognize multiple ways to close an issue.