View on GitHub RESTX     the lightweight Java REST framework

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 than restx.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:

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]
comments powered by Disqus