What's new in VRaptor 3.3.1
Feb 15, 2011
- fixed scannotation as mandatory on maven
- fixed ConcurrentModificationException on interceptors ordering
- updating spring from 3.0.0 to 3.0.5
- fixed @PostConstruct on @ApplicationScoped components when using Spring as container.
- better docs
- redirect to @Path's with regexes
- Hibernate and JPA Transaction interceptors now rollback when there are validation errors.
New in VRaptor 3.3.0 (Feb 1, 2011)
- Changed google-collect 1.0rc to guava-r07.
- Scannotations 1.0.2 is now mandatory.
New in VRaptor 3.2.0 (Nov 1, 2010)
- several performance tweaks: about 60% less request time.
- internal compatibility break: InterceptorStack interface reorganized.
- better implementation of VRaptor internal interceptors accepts method.
- beta support to Google Guice, that can be used instead of Spring.
- Pico provider is not deprecated anymore.
- One can change the DI container without configuring it on web.xml. If VRaptor finds the Spring jars on classpath, Spring will be used; if PicoContainer jars are found it will be used; the same for Guice jars. One can find the container jars on lib/containers folder on vraptor zip.
- internal compatibility break: interfaces Converters, Router and constructor of PathAnnotationRoutesParser class were changed. RouteBuilder converted is now an interface => DefaultRouteBuilder is the implementation. Those who extend PathAnnotationRoutesParser must change the call to delegate constructor. Those who instantiate RouteBuilder directly must instantiate DefaultRouteBuilder.
- new annotation @Lazy. Use it on interceptors which accepts method doesn't depend on the interceptor internal state:
New in VRaptor 3.1.3 (Sep 1, 2010)
- Scala Blank Project
- Better strategy on Flash scope
- starting support for javax.inject API. Naming logic parameters is now possible:
- bugfixes on new Validator
- bugfix: char as URI parameter
- bugfix: now VRaptor works with browsers that do not correctly send Accepts header. public void logic(@Named("a_name") String anotherName) {...}
So the request parameter must be called 'a_name'.
- better support for GAE
- new method on http result: result.use(http()).body(content);
content can be either a String, an InputStream or a Reader.
- more available methods for result.use(status())
- new method: result.use(representation()).from(object, alias)
- support for multiple selects: public void logic(List abc) {...}
...
- auto 406 status when using result.use(representation())
- One can register now all optional vraptor components on packages configuration on web.xml:
- rendering a null representation means returning a 404
- new class: JsonDeserializer
- MultipartInterceptor is now optional.
- bugfix: arrays of length == 1 are now supported as logic parameters
- Pico provider is deprecated
- Validations using the request bundle (and locale)
- ValidationMessage implements Serializable
- new method: result.use(status()).badRequest(errorList); serializes the given error list with: result.use(representation()).from(errorList, "errors");
- shortcuts on Validator: validator.onErrorForwardTo(controller).logic();
- validator.onErrorRedirectTo(controller).logic();
- validator.onErrorUsePageOf(controller).logic();
where controller can be either a controller class or this, as in Result shortcuts.And the shortcut: validator.onErrorSendBadRequest();
which returns the Bad Request (400) status codes and serializes the validation error list according to Accept request header (result.use(representation())) que retorna o status Bad Request (400) e serializa a lista de erros de validação de acordo com o header Accept da requisição (result.use(representation()))
New in VRaptor 3.1.2 (May 13, 2010)
- Blank project now also runs on netbeans 6.8
- Supports encoding for file uploads in Google App Engine
- bugfix: no more NullPointerExceptions on validator.onErrorUse(json())...
- Serializers now have the recursive method
- Message parameters on Validations now can be i18n'ed
- Hibernate proxies are now nicely serialized (almost) like regular classes (thanks to Tomaz Lavieri)
- It is now possible to serialize to json without the root element (thanks to Tomaz Lavieri)
- Google collections updated to version 1.0
- fixed bug with curly braces on regexes inside @Path's
- XStream annotations are now automatically read when you use VRaptor's default serialization
- when you upload a file bigger than the file size limit you get a validation error instead of a generic exception
- more shortcuts on Result interface. This method will validate the given object using Hibernate Validator 3, Java Validation API (JSR303), or any implementation of BeanValidation annotated with @Component
- new BigDecimal, Double and Float converters, that consider the current Locale to convert the values (thanks to Otávio Garcia).
New in VRaptor 3.1.1 (Apr 6, 2010)
- VRaptor 3 was published on Maven central repository
- New implementation for Outjector.
- Now when there are validation errors actual objects are replicated to the next request, not string parameters as before, preventing class cast exceptions on taglibs.
- Bug fixes on VRaptor 2 compatibility
New in VRaptor 3.0.0 (Oct 13, 2009)
- ValidationError renamed to ValidationException
- result.use(Results.http()) for setting headers and status codes of HTTP protocol
- bug fixes
- documentation
- new site