RESTX 0.34
Today we are very happy to announce release 0.34 of RESTX, the lightweight, modular, feature rich, blazing fast and open source Java REST framework.
New and Noteworthy
FACTORY
- 8d78654 Allows asClass in conditional components
- f1d5b05 Allow @When at class level in modules
- 05bcab4 Allow conditional components in module
- a8ef2c6 Allow Alternative to be used in modules
- e6cde56 Add a wrapper to filter a warehouse
- 189179a introduce DeactivationFactoryMachine to easily deactivate components
- d2bcae6 CompilationManager becomes Closeable
- 59454c0 Introduces a new coalescor for FileWatchEvent only
CORE
- 986ba8c Use webjars in admin UI
- f32586e Allowing to provide cache policies on ResourcesRoute
- 62f734b Allow to plug other cache mechanisms for RestxSession #141
- c2a5fc6 Improve generics parameter handling on routes
- a7cc0ea Add ‘prefix’ graphite parameter : value prepended to all metrics names which are sent to graphite
VALIDATION
- a516b4e Support for validation groups with @ValidatedFor
- 616a005 validation - Providing el api & impl dependencies in restx-validation, in order to make interpolation work in validation error messages (like @Size)
BUILD
- 1a48982 added a method to ModuleDescriptor that checks for classifiers
REFACTOR
- bc13b80 refactor: move Settings processor to factory
- ffbda71 refactor: move restx.config from core to factory
- 76b034b refactor: Warehouse -> StdWarehouse
- 3a25964 Extracted RestxServerRule setup/teardown into dedicated public methods, allowing to use this class outside a junit scope (for instance, for benchmarking)
- ee1545f refactor: use Conditional keyword instead of Alternative in processor
MINOR
- 01b5227 upgrade metrics to dropwizard metrics 3.1.0
- 4afdbce Provided some plugin commented code to debug annotation processing on samplest module
- 7a82e6e replace newLinkedHashSet by an ImmutableSet.copyOf when returning components
- 6378fa6 [server] - allow overriding of JettyWebServer subcomponents creation
- 679c273 [STATS] get app name from
app.name
rather thanrestx.appName
- e076409 add debug log when setting cookie
- f756689 add an example of AutoCloseable component
- 68381e5 [minor] don’t include stat module when generating test app
- 7339bc2 cleanup log about baseUri when deployed on non embedded server
- e1a8a7f Added grunt test to build.sh
- 0b3d9cc introduces TypeReference abstract class
BUG FIXES
- a872170 FIX improper use of module id - #113
- eb9a061 FIX: JongoCollectionFactory wrong canBuild condition
- 98f97f1 FIX: don’t list routers in api docs index that can’t be loaded by api declaration route (Fixes #130)
- 168ebfc FIX: generated start.bat uses invalid path separator #144
- b22dd96 FIX java.lang.NullPointerException when no java compiler available (fixes #107)
- a23cd73 javax.management.RuntimeOperationsException in prod mode for some URLs (fixes #126)
- 154dfc5 FIX: app run not working on Windows #115
- a49f9f5 [Admin] FIX: warehouse view was broken (layout issue and vertices missing)
- a32a726 FIX: FixedPrecision annotated element is not always a Field
- 9c5ffc4 FIX: sometimes system property values are not Strings
- 352c463 FIX: AutoCloseables are not called on servlet destroy (Fixes #119)
- da0a80d FIX: some issues with priority not being propagated to components
- bea3aad FIX: Missing Access-Control-Allow-Origin header after CORS preflight request (fixes #116)
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)
- Augustin Peyrard (committer)
- Cedric Gatay
- Elian Oriou
- Cyril Truchi
- Janez Kranjc
We welcomed Augustin Peyrard as a new committer on the project, growing the community of committers.
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.34 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:
- 91891fe validation - Updated name for default Validator (from “validator” to “hibernate.validator”) [BREAKING]
- 6989675 validation - Extracting hibernate validator dependency from restx-core to new restx-validation module. [BREAKING]
- 6b440af validation - Considering Validator components as optional components [BREAKING]
- 76b034b refactor: Warehouse -> StdWarehouse [BREAKING]
- 378893b 19cf4a2 - Allow to plug other cache mechanisms for RestxSession #141 [BREAKING]
- bd95736 EventCoalescor is now abstract and generified [BREAKING]