This release is the result of more than 500 commits, which contain:
- almost 30 new APIs in the standard library;
- more than a hundred bugfixes;
- almost a hundred improvements to the interpreter and its libraries.
Changelog of major changes
- Interfaces can now be referenced as constants in courier processes.
- Programs can automatically access the subdirectories lib and include from the directory they are executed in, respectively for libraries and include files.
- It is now possible to develop "abstract locations" for input ports, i.e., Jolie extensions that can change at runtime the location of an input port, for example by fetching it from a registry or a configuration file.
- Tracer. Jolie now supports a "--trace" option that prints all communications on screen (useful for debugging).
- Improved message handling in concurrent communications.
- Faster shutdown procedure for the interpreter.
- Better handling of memory deallocation when an embedded service terminates.
- Improved handling of persistent channels, with a new algorithm for managing timeouts of cached channels.
- Support for Java 8.
- Better Windows support (path resolution and JAP files).
- Console management.
- Database management. Also, support for HSQLDB and DB2 has been added.
- File management.
- JSON support.
- Queue-like data structures.
- Runtime management of the interpreter.
- Shell command execution.
- String manipulation.
- XML handling.
Improvements to protocols
- http: default operations can now be assigned to specific HTTP methods (GET, PUT, POST, DELETE, HEAD).
- http: improved message handling, improved JSON support.
- json-rpc: better support, general improvements.
- ssl: bug fixes (applies to all protocols using ssl, e.g., https).
- xml-rpc: better support, general improvements.
Improvements to tools
- joliedoc: types can now be documented.
- joliedoc: bug fixes.
- jolie2wsdl: bug fixes.
- wsdl2jolie: bug fixes.