Showing posts with label release. Show all posts
Showing posts with label release. Show all posts

Tuesday, 19 February 2019

Jolie 1.7.1 released - Microservices 2019 edition

Jolie 1.7.1 has been released! Go get it from our download page.

This release celebrates the 2nd International Conference on Microservices (in Dortmund), which has started today! If you are not there, you will be able to check out slides and presentations at the end of the conference at the website https://conf-micro.services/

https://conf-micro.services

Changelog (from Jolie 1.7.0)
  • Support for the NDJSON format.
  • list@File now supports recursive directory visits natively.
  • Improvements to the ZipUtils library.
  • Bug fixes for XML/XSD support of choice types.

Tuesday, 21 August 2018

Jolie 1.7.0 released

Jolie 1.7.0 has been released! Go get it from our download page.

Changelog (from Jolie 1.6.4)
  • Support for Java 9, 10, 11.
  • New feature: SNI (Server Name Indication) support for SSL/TLS (https, soaps, etc.). This is supported automatically, no need to add any protocol configuration.

Tuesday, 7 August 2018

Jolie 1.6.4 released

Jolie 1.6.4 has been released! Go get it from our download page.

Changelog (from Jolie 1.6.3)
  • New feature: redirection in HTTP urls, e.g., http://yourjolieserver/!/SubService!/operation
  • New feature: the soaps protocol (SOAP over HTTPS).
  • New feature: interface extensions now support type links at the root level.
  • New feature: getenv@Runtime gets the value of environment variables.
  • New feature: listEntries@ZipUtils.
  • Various improvements to XML conversion APIs and tools.
  • XML conversion with .indent = true now adds tabbing too.
  • Start-up performance improvements (by avoiding filling stack traces when a path resolution fails for an include path).
  • Complete refactoring of Scheduler (standard library).
  • Fix: null pointer exception in checking type equalities when one type does not have subnodes.
  • Fix: SOAP now replies correctly to OneWay invocations.
  • Fix: HTTP now correctly returns status 500 for internal errors.
  • The Web Service unit test does not use a remote web service anymore.
  • Various code restylings to take advantage of Java 8.

Wednesday, 2 May 2018

Jolie 1.6.3 released

Jolie 1.6.3 has been released! Go get it from our download page.

Changelog (from Jolie 1.6.2)
  • Using operations in courier processes that are not declared in the input port that the courier refers to is now detected statically, not at runtime.
  • Stability improvements to the HTTP and SSL protocols.
  • Fixed a race condition in the correlation engine of the interpreter.
  • Fixed the namespace of HTTP bindings in WSDL files produced with jolie2wsdl.
  • Prettier output for type documentation in joliedoc.

Monday, 6 November 2017

Jolie 1.6.2 released

Jolie 1.6.2 has been released! Go get it from our download page.

Changelog (from Jolie 1.6.1)
  • Performance improvements to the startup time of the interpreter.
  • Errors in using global variables with dynamic lookup are now notified at linting time.

Wednesday, 5 July 2017

Jolie 1.6.1 released

Jolie 1.6.1 has been released! Go get it from our download page.

Changelog (from Jolie 1.6.0)
  • The File service now supports the retrieval of different file information.
  • Fixed: could not start the interpreter with some aggregation statements with empty interface extenders.
  • The interpreter shutdown procedure is now faster when timers are running.
  • Different bug fixes for the HTTP and SOAP protocols.
  • Various feature and performance improvements to HTTP and SOAP.

Thursday, 1 December 2016

Jolie 1.6.0 released

Jolie 1.6.0 has been released!

Important: This is the first stable release of Jolie that requires Java 8. A Java 6 compatible branch is still available on GitHub, to support contributors with the possibility of backporting important bug fixes. A link to the latest stable version of Jolie supporting Java 6 is provided in the download page of the Jolie website.


Changelog from Jolie 1.5.0

New from Jolie 1.6.0 beta1:
  • Improved error message compatibility with Windows (now the Jolie plugin for Atom works correctly in Windows 10).
  • New for-loop construct for iterating over arrays without explicit indexes: for( x in array ) { ... }.
  • Bug fix for interface extenders affecting OneWay operations.
  • Improved support for HTTP methods.
  • Added pi@MathService
  • Fix null pointer in TimeoutHandlers.
  • Improved File service for handling absolute paths.
  • Added replaceFirst@StringUtils
  • Add support for sqlite in Database.
  • Bug fix in alias replacement in HTTP.
  • Fix race condition in ValueVector.
New from Jolie 1.5.0 (already posted as part of Jolie 1.6.0 beta1):
  • 3000th commit reached!
  • Lots of improvements to the handling of concurrent data structures, using lambdas.
  • Codebase ported to make use of the new features and libraries found in Java 8.
  • Various performance improvements: objects for tracing are not allocated if --trace is not in use, type checking runs faster thanks to safe sharing of string builders, improved management of sockets, faster evaluation of logical conditions by using lambda-based implementations.
  • New asynchronous implementation of AbstractCommChannel for simpler handling of solicit-responses.
  • Improved performance of the interpreter test suite.
  • Support for type choices (also known as type sums)! This merits its own blog post, to be written.
  • Numerous bug fixes and minor improvements.
  • Fix a race condition on the usage of internal links.

Friday, 13 May 2016

Jolie 1.6.0 beta1 released

In honour of the Jolie repository reaching a count of 3000 commits, Jolie 1.6.0 beta1 has been released!

This is a beta release, meant for early adopters and testers. Do not use it in production! For this reason, the download link is reported only here and not in our main download page.

Download link: http://www.jolie-lang.org/files/releases/jolie-1.6.0_beta1.jar

Important: This is the first release of Jolie that requires Java 8. A Java 6 compatible branch is still available on GitHub, to support contributors with the possibility of backporting important bug fixes.


Changelog from Jolie 1.6.0

  • 3000th commit reached!
  • Lots of improvements to the handling of concurrent data structures, using lambdas.
  • Codebase ported to make use of the new features and libraries found in Java 8.
  • Various performance improvements: objects for tracing are not allocated if --trace is not in use, type checking runs faster thanks to safe sharing of string builders, improved management of sockets, faster evaluation of logical conditions by using lambda-based implementations.
  • New asynchronous implementation of AbstractCommChannel for simpler handling of solicit-responses.
  • Improved performance of the interpreter test suite.
  • Support for type choices (also known as type sums)! This merits its own blog post, to be written.
  • Numerous bug fixes and minor improvements.
  • Fix a race condition on the usage of internal links.

Monday, 4 April 2016

Jolie 1.5.0 released

Jolie 1.5.0 has been released.
This is mainly a stabilisation release (albeit it contains some new conservative features). It is meant as a transition release towards the future release that will require Java 8. So this one still requires just Java 6, but efforts will now be directed towards stabilising the next version requiring Java 8 (java8 branch on git). Get it while it's still hot: http://jolie-lang.org/downloads.html.

Changelog

  • The HTTP extension now supports sending custom user headers in request messages.
  • Improvements and bugfixes to SSL extensions (e.g., HTTPS).
  • Better handling of the service shutdown sequence.
  • Fixed a race condition in channel selectors.
  • Bugfixes regarding channel handling in aggregation.

Tuesday, 18 August 2015

Jolie 1.4.1 released

Jolie 1.4.1 has been released. This is a bugfix release, including fixes to the HTTP protocol and connection management. Download it from the Jolie download page.

Tuesday, 16 June 2015

Jolie 1.4 released

Jolie 1.4 has been released. This is a feature release, including support for the new syntax of Internal Services (see the docs and the post on non-distributed microservices) and Local Locations. There are also many fixes to the HTTP extension, improvements to the embedding engine for Javascript programs, and improvements to the support tools jolie2java and wsdl2jolie.

Thursday, 30 April 2015

Jolie 1.3 released

Jolie 1.3 has been released. This is a stabilisation release: much effort has been put into improving the implementation of the interpreter and its extensions, and in extending our test suite for backwards compatibility.

Changelog

  • Empty bodies for Request-Response inputs have been made optional.
  • Performance improvements to communications with embedded Javascript services.
  • gwt-dev.jar has been removed, as it is no longer needed (this reduced the size of a Jolie installation to a third).
  • Fixed a bug that prevented using HTTPs with the default settings (SSLv3 is no longer the default).
  • Improvements to the jolie2java tool, which now correctly compiles access methods to root values.
  • Many fixes to how charset encodings are handled, especially with respect to UTF-8.
  • Bugfix: invoke@Reflection did not use runtime type checking correctly.
  • Internal refactoring of HTTP and HTTP-based protocols to share the basic underlying logic, e.g., error handling.
  • Fetching WSDL documents no longer prints debug messages on screen.
  • Some API cleanups in the standard library (e.g., NetworkService).
  • Improvements to handling GWT messages.

Sunday, 29 March 2015

Jolie 1.2.1 released

Jolie 1.2.1 has been released.

Changelog

  • Introduction of UriTemplate, a new experimental service in the standard library for handling URI Templates.
  • Bugfix: HTTP could silently omit content when trying to send a non-binary value when a binary format was required.
  • Bugfix: joliec can now compile courier processes.
  • Bugfixes to handling of basic values and implicit type conversions.
  • Bugfix: fix a race condition on input streams from the console in the Console library service.

Friday, 27 March 2015

Jolie 1.2 released

Jolie 1.2 has been released. This release brings many important feature, stability, and performance enhancements.

Performance

Jolie 1.2 comes with many performance improvements. Early tests (some of which performed on the Jolie website itself) show an increase in throughput of up to 100% in scenarios with heavy loads, thanks to the following changes:
  • Jolie processes are now executed over a virtualisation layer that runs them using a cache of parallel workers.
  • Many synchronisation locks on data structures have been made more granular, reducing lock retention among processes.
  • Improvements to the networking stack, including multiple concurrent selectors (as in, e.g., Project Grizzly), better usage of I/O streams, and buffer caching.

Language Features

Inline trees

Jolie now supports inline trees as a new form of expression. For example, the following series of assignments

x.a = 1;
x.b = 2;
x.c[0] = 3;
x.c[1] = 4

can now be simply written as:

x << { .a = 1, .b = 2, .c[0] = 3, .c[1] = 4 }

Since they are expressions, inline trees can be used as parameters for operation invocations, for example:

query@Database(
    "select * from users where id = :id" { .id = 5 }
)( result )


Provide-until choices (experimental)

Provide-until choices have been introduced as a useful way of providing a series of operations until another certain operation is invoked. For example, the following code make the operations read and write available until either the operation logout or timeout is invoked.

provide
    [ read(request)(response) { response = /* ... */ } ]
    [ write(request) ] { /* ... */ }
until
    [ logout() ]
    [ timeout() ]

Provide-until blocks are still experimental and will likely be improved in the future.

Branch code for input choices now optional

The code of a branch in an input choice can now be omitted, implicitly meaning that it is empty (nullProcess). For example, the following code

[ logout() ] { nullProcess }
[ timeout() ] { nullProcess }

can now be written as:

[ logout() ]
[ timeout() ]

Framework Improvements


  • Full character set enforcement in all parts of Jolie (important for multiplatform environments).
  • Predefined charset UTF-8 for XML-RPC, SOAP, JSON-RPC protocols.
  • Customisable charset for HTTP and SODEP protcols (default remains UTF-8) and the I/O  services (FileService, IniUtils).
  • --charset parameter to parse Jolie programs in encodings different from the system default.
  • Introduction of the new Converter service (base64 conversion, charset conversion).
  • Major HTTP protocol improvements (HEAD request, better chunked-mode parsing, correct URI/URL handling).
  • Fixed use of file paths containing blanks.
  • JSON parser fixes (nested arrays).
  • Some DatabaseService improvements (new close() call, error handling).
  • Fixes to the UNIX domain sockets support ("localsockets" medium).
  • XML-RPC protocol improvements (e.g., base64 support).
  • Fixed execution of sequential processes.
  • The SemanticVerifier component now reports errors correctly.
  • Introduction of a new experimental Reflection service for language reflection.

Wednesday, 18 February 2015

Jolie 1.1.2 released

Jolie 1.1.2 has been released, with lots of stability and performance improvements! Get it while it's hot!

Changelog

  • Fixed character encoding handling on all HTTP-based extensions (http, https, soap, xmlrpc, jsonrpc).
  • Introduced HTTP compression on all HTTP-based extensions.
  • Introduced HTTP error messages for clients on all HTTP-based extensions.
  • Plenty of other bugfixes and internal improvements in all HTTP-based extensions.
  • Enhanced documentation for the HTTP extensions, especially documented all possible parameters for the http extension under http.iol.
  • Major JSON parsing improvements: introduction of a shared library named "jolie-js" which shares the JSON parser between the HTTP extensions and the Jolie "JsonUtils" module.
  • Bugfixes for localsockets (UNIX domain sockets).
  • Bugfixes in the launcher script for Windows.
  • Fixed a bug on concurrent access to variables in foreach loops.
  • Internal improvements to the networking code of the interpreter.
  • The compression feature from the sodep protocol has been removed. It will be reintroduced in another protocol in the future.
  • Improvements in the transmission of faults using JSON.
  • Fixes resolution of type links in interfaces used in courier inputs.
  • Fixed resource leak when reading .ini files in IniUtils.
  • Fixed a potential internal deadlock when handling persistent input channels.

Wednesday, 28 January 2015

Jolie 1.1.1 released

Jolie 1.1.1 has been released.

Changelog


  • HTTP Compression Negotation is now supported and enabled by default.
  • The Jolie launcher script now uses the default Java parameters for RAM usage.
  • joliedoc now produces anchor links in documentation files correctly.
  • Bug fixes to the installer, which should now work better on MacOS and Windows.

Monday, 19 January 2015

Jolie 1.1 released

Jolie 1.1 has been released!

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

New features

  • 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).

Implementation improvements

  • 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).

New APIs

  • 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.
  • Semaphores.
  • 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.