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:
- Xavier Hanin (committer),
- Frédéric Camblor (committer)
- Thomas Recloux
- Manuel Boillod
- Sébastien Brousse
- Cedric Gatay
- Zigzago
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]