After two years of development, we are proud to release version 2.1.0 of the Restlet Framework, in sync with the publishing of the ‘Restlet in Action’ book !!
Let’s step back and review the major enhancements introduced since version 2.0. For complete details, you can consult the related user guide page.
- Support for more asynchronous representations has been added to faciliate interaction with streaming APIs such as CouchDB or Twitter
- The annotations syntax has been enhanced to allow query parameters or alternate variants matching
- Many syntactic sugar has been added such as getAttribute(name), getQueryValue(name), getMatrixValue(name) methods and equivalent setters on Resource subclasses
- Improved ClientResource with a buffering option (useful for GAE which lacks chunked encoding support), redirection loops prevention and URI template support
- New EncoderService added to automatically compress entities sent on both the client and the server side
- New ConnegService providing a way to control the content negotiation behavior at the application level
- Brand new internal connectors for HTTP added based on non-blocking NIO with limited thread usage
- This is ideal for development phase and once fully stabilized should become an alternative for production
- Greatly improved logging system, based on JULI, with programmatic control of the log level and the message formatters
- Updated Crypto extension with support for AWS authentication schemes, both client and server side
- Added EMF extension supporting automatic representation serialization to XMI, XML and HTML
- Updated GAE extension to add special authenticator (only GAE edition)
- Added HTML extension supporting multipart forms on the client-side (can be combined with the FileUpload extension)
- Added OAuth extension support version 2.0 (draft 10). More recent drafts are supported in version 2.2
- Added SDC extension supporting Google Secure Data Connector protocol on the client-side (facilitate migration between GAE and other PaaS)
- Added SIP extension providing both client and server connector for VoIP, based on the internal HTTP connector
- Added SSL extension providing internal HTTPS client and server connectors
- Various dependencies were updated such as FreeMarker 2.3.11, Jetty 7.6.5, Jackson 1.9.8 or XStream 1.4.1
- Support for GWT from version 2.2 to 2.5 was added
- Added edition for OSGi environments including dynamically generated bundle manifests, and removing the presence of activator class in other editions
Revamped community support
- Migrated from Tigris.org to GitHub regarding the source code and the issue tracker has been completed, leading to more contributions
- Added StackOverflow as the preferred source of user Q&A
- Maven repository is now refreshed daily
- Apache 2.0 license option was added
- Twitter accounts were added:
We don’t have the space to thank all direct contributors here, but you can find their names in the changes log below or in previous blog posts. Thank you all, your contributions made a big difference!
Seven years after the project launch, the project is entering a new phase. REST is now the de facto standard and web APIs are popping up every day with 1 million web APIs expected in 2017.
At Restlet, we look forward to helping you and many others to be part of this growing API providers community. Of course you can always create your custom API using the Restlet Framework, but now we also offer a new solution.
APISpark is an all-in-one Platform as a Service that takes care of the creation, hosting, management and usage of web APIs, including both the visible API contract as well as its underlying implementation including data stores.
Support for third-party API wrappers and easy to use API templates are also built in the platform and made available through an API catalog that can be populated by API providers and searched by API users.
We also have a roadmap for version 2.2 of Restlet Framework which will add enhancements such as migration to Java 6 and Servlet 3.0, optimized size for GWT and Android editions by providing ligther JAR profiles, better Javadocs by merging the content of the user guide currently in the wiki, and so on.
The first milestone should come pretty soon and will mark the 2.1 branch as the new “stable” branch, fully ready for production. Until, then please test 2.1.0 in your environment and report any issue you find!
Jérôme Louvel – Founder and lead developer
ThierryBoileau – Community manager and core developer
Thierry Templier – Core developer