View on GitHub RESTX     the lightweight Java REST framework

RESTX 0.33.1

   

Today we are very happy to announce release 0.33.1 of RESTX, the lightweight, modular, feature rich, blazing fast and open source Java REST framework.

New and Noteworthy

Core

  • 3bdcda4 - core - better support of CORS
  • c1d5e97 - core - accept digits in path parameters with braces
  • 413750a - core - accept digits in path parameters with column
  • b28eed7 - core - Add optional root path in RestxResource
  • 5efb1ec - log - add restx path and http method to MDC
  • 445870b - security - add API to make testing code relying on RestxSession easier
  • d91fcfd - core - allow to set cache-control header specifically
  • 4067c16 - core - add getHeader on RestxResponse
  • 1ee3ae0 - core - add etag support
  • 221e165 - core - exposes entity request body and response types
  • 43ec7bb - core - entity writer and reader now provide information on the entity type
  • 2d07b66 - core - introduce route filter
  • c15d3be - i18n - use etag to cache generated labels resources
  • b8c97ea - i18n - improve performance of labels.js[on] generation
  • 338159a - core - support serving resources route on /

Java 8 support (special thanks to Thomas Recloux)

  • 67d7d79 - Change supported source version to remove the warning with Java8
  • 4823d06 - Add Sample/Test app for Java8 features
  • 683cfd9 - Create Java8 Maven profile to build java8 specific modules
  • 9d45023 - Provide default Clock with a high priority to make it easier to override.
  • 22964fb - Provide default clock
  • a514347 - Modularize Java8 features
  • 79a1ec4 - Time directive can inject a fixed JSR310 Clock
  • abd1f18 - Add Jackson JSR310 module
  • 7ac3823 - Add java.util.Optional support for Settings
  • 2be6e04 - Add java.util.Optional support for injectable components
  • 49e50a7 - Add support for java.util.Optional

Google App Engine compatiblity (special thanks to Manuel Boillod)

  • 84ffe27 - Extract codahale metrics in module restx-monitor-codahale, to make restx compliant with Google App Engine.
  • 4a9596f - Use dependency injection with priority management for multiple HealthCheckRegistry
  • bc799fe - Add a simple user repository without dependency to filesystem
  • d2043d3 - Remove mandatory dependencies to ‘com.codahale.metrics.*’ in all modules except ‘restx-monitor-admin’.

Factory

  • 428f672 - factory - support injection of NamedComponents
  • ab531e9 - factory - respect multi components order in satisfiedbom
  • a86e2c2 - factory - introduce priority at engine level

Stats

  • 7a18abb - introduce restx-stats module, to collect and share anonymous stats on restx apps

Build

  • 603b6b7 - build - add support for com.sun.tools dependency
  • a69d458 - build - allow to use multiple maven fragments contributing multiple plugins config
  • 7e5ac09 - build - add uber jar fragment

API DOCS

  • ada244b - apidoclet - reuse javadoc comments in API DOCS

Settings

  • ac37550 - settings - add support for boolean in settings
  • e2caf14 - settings - add support for long in settings / config

Shell

  • f2ef32f - shell - Set project name as prompt if the current directory contains a module descriptor
  • cc88888 - shell - Add ls command
  • 4937f55 - shell - app new - add i18n and log admin modules in generated app

Specs

  • 3953f07 - Allowing to configure router path when using @RunWith(RestxSpecTestsRunner.class) and @FindSpecsIn()

Server

  • 1c2fd4c - server - introduce server type information
  • 329efc3 - server - allow to set tomcat or jetty server id when used in embedded mode
  • c928c71 - servlet - allow to cutomize std Principal to RestxPrincipal conversion.
  • 96ac58e - servlet - better handling of cookie updates

Bug fixes

  • 943b13e - i18n - FIX: DefaultMessagesTest is system Locale sentitive
  • 590439a - core - FIX: prevent null components when a system property is nullified after discovery
  • 259171b - API Docs - Examples not found on tomcat (fix #90)
  • 3a49ed7 - shell - no feedback on command not found in CLI (fixes #74)

Upgrade some dependencies

  • 5ec5cf7 - upgrade jackson and bson4jackson
  • cce5e9e - upgrade assertj to 1.6.0
  • 6eff25c - replace usage of deprecated InputSupplier / OutputSupplier (guava 17)
  • 29c207d - upgrade guava to 17.0

Contributions

Thanks a lot to the community who made this possible, especially the contributors to this release:

The hackathon at DevoxxFrance was particularly successful with contributions from 3 persons.

Getting started / Upgrading

Want to get started now? Check out the related doc.

Upgrading from an earlier version?

  • in your projects you just need to update restx.version to 0.33.1 in your dependency descriptor
  • in your code you might have to adapt to some breaking changes (see below)
  • in the shell, run shell upgrade to upgrade your shell and plugins. Note: a breaking change in this version may make the shell to fail after the upgrade. In such case delete the jars in your .restx/plugins directory, or reinstall from scratch.

You can check commits introducing breaking changes:

  • 3bdcda4 - core - better support of CORS [BREAKING]
  • 43ec7bb - core - entity writer and reader now provide information on the entity type [BREAKING]
  • ab531e9 - factory - respect multi components order in satisfiedbom [BREAKING]
  • a86e2c2 - factory - introduce priority at engine level [BREAKING]
  • 6eff25c - replace usage of deprecated InputSupplier / OutputSupplier [BREAKING]
comments powered by Disqus