Recent Releases

6.3-alpha31 May 2020 06:56 major feature: Tasks can now access the results of their dependencencies, a node can now be forced to reconnect without restarting it, a new sample was added: grid failover, printing of client connection events to stdout can now be disabled, a new NotEqual execution policy was added for greater convenience
6.208 Feb 2020 09:50 major feature: Tasks dependencies, JPPF in Docker containers and Kubernetes, Job dependencies and job graphs, DSL for job selectors, Use of java.time.* classes for JPPF schedules, Inspection of the client-side jobs queue, Major refactoring of the management and monitoring MBeans, Administration and monitoring console improvements, Performance improvements in the driver and JMX remote connector.
6.2-beta27 Dec 2019 07:46 major feature: Management and monitoring: the node forwarding MBean now provides compile-time typing of the results, all built-in MBeans are annotated with metadata available at runtime, also used to generate static forwarding proxies for the node MBeans, as well as the MBeans reference documentation. The management and monitoring documentation was refactored for greater clarity and readability Administration console: numerous performance hotspots were identified and fixed in the monitoring API and in the UI rendering code. The JFreeChart charting library was replaced with XCharts, resulting in further performance improvements Significant performance improvements were made in the driver and JMX remote connector
6.1.421 Dec 2019 05:02 major bugfix: Enhancements: JPPF-611 Document the values limits and validity in the constructors of JPPFSchedule. Bug fixes: JPPF-605 Investigate the performance of the monitoring APIs and administration console, JPPF-612 JMX remote connector: poor handling of large number of notifications, JPPF-613 NPE due to race condition in the server leads to losing node connections.
6.2-alpha-223 Oct 2019 05:24 minor feature: Features: JPPF-582 Job dependencies and job graphs, JPPF-600 DSL for complex job selectors Enhancements: JPPF-587 Ability to create JPPFSchedule instances using java.time.* APIs, JPPF-601 Add a client API to list the queued jobs in a JPPF client, JPPF-604 Various performance improvements Tasks: JPPF-592 Security scans, JPPF-598 Fix vulnerabilities found in security scans
6.1.308 Oct 2019 05:34 major bugfix: This maintenance release brings an emergency bug fix: JPPF-606 ClassNotFoundException when submitting a Callable to an ExecutorService from a JPPF task
6.1.222 Sep 2019 07:27 major bugfix: Enhancements: JPPF-601 Add a client API to list the queued jobs in a JPPF client, JPPF-604 Various performance improvements Bug fixess: JPPF-596 Outdated dependency - net.jpountz.lz4 should be replaced with org.lz4.lz4-java, JPPF-597 JPPF serialization fails with java.time.* classes, JPPF-602 AbstractExecutionManager uses the wrong configuration to initialize, JPPF-603 Slave nodes leak
6.0.422 Sep 2019 07:25 major bugfix: Bug fixes: JPPF-602 AbstractExecutionManager uses the wrong configuration to initialize Enhancements: JPPF-601 Add a client API to list the queued jobs in a JPPF client, JPPF-604 Various performance improvements
6.2-alpha17 Jul 2019 03:26 major feature: Management of dependencies between tasks within a job: guarantee that all dependencies of a task are executed before it can start, traversal of the tasks graph can be performed on either server or client side, built-in detection and handling of dependency cycles are provided. JPPF in Docker containers and Kubernetes: the JPPF drivers, nodes and web administration console are now available as Docker images, JPPF grids can be deployed on Kubernetes clusters using the JPPF Helm chart, JPPF grids can also be deployed on Docker swarm clusters as Docker service stacks. Performance improvement: a new client-side cache of class definitions was implemented, to improve the overall dynamic class loading performance.
6.1.114 Jul 2019 09:49 major bugfix: JPPF-585 The 6.1 tutorial still uses JPPFClient.submitJob() and blocking job attribute, JPPF-588 Concurrent operations with DefaultFilePersistence job persistence result in exceptions, JPPF-590 Failures in v6.1 in multi-server topology tests, JPPF-593 Various typos in the documentation, JPPF-594 Deadlock in the driver
6.0.301 May 2019 05:50 minor bugfix: JPPF-581 Setting a MBeanServerForwarder on the jmxremote-nio connector server has no effect, JPPF-588 Concurrent operations with DefaultFilePersistence job persistence result in exceptions, JPPF-578 Allow jppf-admin-web jar dependency as alternative to war to make embedding possible
6.128 Mar 2019 06:59 major feature: Asynchronous communication between node and server, Client connection concurrency, Pluggable node throttling mechanism, JVM health monitoring enhancements, Node provisioning notifications, Preference execution policy, New job SLA attributes: maximum driver depth, maximum dispatch size, allow multiple dispatches to the same channel, New convenience execution policies, New MavenLocation class, Deprecation of the "blocking" job attribute and replacement with submit() and submitAsync() method in the JPPFClient class, Embedded drivers and nodes, The offline documentation was refactored in order to fix corss-document links and to improve readability. Feature removals: we deeply regret to announce the removal of the .Net bridge and the Android port.
6.1-beta06 Mar 2019 04:24 major feature: New JVM health monitoring enhancements with the addition of new monitored data elements and custom value converters to enable customized rendering in the administration consoles. The preference execution policy selects the nodes that satisfy the policy with the foremost position. New convenience execution policies were added, to simplify common policies with cumbersome rules. The node provisioning facility can now emit JMX notifications when slave nodes start or terminate. A new MavenLocation class allows downloading artifacts from any maven repository. The "blocking" job attribute was deprecated and replaced with the ability to chose whether to submit the job synchronously or asynchronously. Feature removals: the .Net bridge was removed due to lack of Java 8 support in third-party dependencies; the Android node is no longer maintained due to lack of bandwidth
6.0.230 Jan 2019 06:52 minor bugfix: Bug fixes: JPPF-567 JMXDriverConnectionWrapper.getAllJobIds still exists and raises an exception, JPPF-568 Exceptions shown in the log when JMXDriverConnectionWrapper fails to connect to the driver, JPPF-571 Driver started with JPPFDriver noLauncher exits immediately when jppf.discovery.enabled=false
6.1-alpha-230 Jan 2019 04:19 major feature: Major new features include an asynchronous communication model between server and nodes, a new pluggable node throttling mechanismn, new fine-grained job SLA attributes. All implemented issues: JPPF-564 Asynchronous communication betwen node and driver, JPPF-569 New job SLA attributes, JPPF-570 Accessing the job from a task, JPPF-573 Pluggable mechanism to warn the driver when a node can't accept any more job, JPPF-433 Add missing value snapshots to the server statistics, JPPF-574 Reorganize the documentation into a single LibreOffice document
6.1-alpha10 Dec 2018 07:30 major feature: Major new features include Java 8 upgrade, client connection concurrency and embedded drivers and nodes. All implemented issues: JPPF-548 Drop support for JDK 7 and switch to JDK 8 or later, JPPF-549 Asynchonous communication between server and client, JPPF-563 Make the JPPF driver and node not singletons, JPPF-566 New sample: embedded grid, JPPF-552 Improve job API to enable tasks as lambdas.
6.0.124 Nov 2018 07:24 major bugfix: Bug fixes: JPPF-550 log4j dependency in jppf.commons, JPPF-553 Configuration documentation demo still uses HTTP urls, JPPF-555 No argument checking in execution policies constructors, JPPF-556 DefaultJPPFSerialization fails to serialize JPPF task execution notification, JPPF-557 JPPF node with Xstream serialization, JPPF-560 org.jppf.utils.collections.ConcurrentHashSet.add() return value does not follow java.util.Set API, JPPF-561 JPPFUuid generates uuid collisions. Enhancements: JPPF-551 Possibility to setup default execution policy in jppf client config, JPPF-554 AcceptAll, RejectAll execution policy.
5.2.1024 Nov 2018 07:21 major bugfix: Bug fixes: JPPF-534 When no jvm.options is in the config file, a NullPointerException is thrown, JPPF-537 Task is being submitted to a driver and canceled immediately afterwards, no cancellation effect is visible, JPPF-538 Deadlock after call of hasAvailableConnection, JPPF-542 Job dispatch expiration does not work in multi-server topology, JPPF-544 Wrong handling of broadcast job monitoring, JPPF-560 org.jppf.utils.collections.ConcurrentHashSet.add() return value does not follow java.util.Set API, JPPF-561 JPPFUuid generates uuid collisions
5.1.724 Nov 2018 07:19 major bugfix: Bug fixes: JPPF-527 Admin console's job data view does not display anything when client pool size is greater than 1, JPPF-560 org.jppf.utils.collections.ConcurrentHashSet.add() return value does not follow java.util.Set API, JPPF-561 JPPFUuid generates uuid collisions
6.006 Oct 2018 09:09 major feature: Major new features include a new web-based administration and monitoring console, integrated database services, jobs Persistence, a NIO-based JMX remote connector, pluggable monitoring data providers, persistence and reuse of load-balancers states. Many more features and enhancements are part of this release.
6.0-beta04 Aug 2018 18:10 major feature: Features: JPPF-17 Recover from hard failures on the client side, JPPF-471 Show master / slave nodes relationships in the admin console, JPPF-526 Enable NIO-based recovery/heartbeat mechanism, JPPF-540 Make driver discovery from the client config a built-in driver discovery implementation, JPPF-543 Enable P2P connectivity between drivers to be used only for failover Enhancements: JPPF-490 Timestamps for statistics updates, JPPF-531 Ability to specify alternate drivers/servers for a node to connect to in a single configuration property, JPPF-539 Location API - Maven central location Tasks: JPPF-520 Make JPPF work with Java 9, JPPF-541 Upgrade third-party libraries and update build accordingly
6.0-alpha-410 Jun 2018 10:07 major feature: Features: JPPF-396 Provide information on remote drivers/nodes not natively available from the JDK, JPPF-436 Integration of JMX remote with NIO, JPPF-462 Node temperature, JPPF-493 Parametrized configuration properties, JPPF-519 Admin console: ability to add custom data to the JVM health view and the charts. Enhancements: JPPF-530 Port J2EE connector to Open Liberty, JPPF-535 Desktop console: use picklist to select visible columns in tree table views. Tasks: JPPF-532 Upgrade to latest version of SLF4J, JPPF-536 Generic build script in the repo root.
5.2.902 Apr 2018 10:49 major feature: Bug fixes: JPPF-517 Deadlock in the driver during stress test, JPPF-518 Admin console job data view does not display peer drivers to which jobs are dispatched, JPPF-521 Document the "jppf.node.provisioning.master.uuid" configuration property, JPPF-523 nullpointer in org.jppf.utils.SystemUtils.addOtherSystemProperties, JPPF-524 Stream isn't closed properly in org.jppf.utils.VersionUtils#createVersionInfo, JPPF-525 Deadlock in the driver during automated test run Enhancements: JPPF-522 Enhancements to the pluggable view sample
6.0-alpha-329 Sep 2017 05:53 major feature: Multi-server topologies improvements, including a full-fledged NIO implementation and server to server connection pooling. Complex expressions can now be used as arguments of execution policies. Ability to persist and reuse adaptive load-balancers states accross changes in the topology.
6.0-alpha-215 Aug 2017 07:49 major feature: The new database services faciltiy allows to create, and accesss JDBC data sources and propagate them to the grid. JPPF drivers can now persist jobs in a permanent store, adding major capabilities which include automatic/interactive crash recovery and "fire and forget" job execution patterns with on-demand retrieval at any time. This pluggable facility is provided with four built-in implementations: database persistence, file persistence, asynchronous write-behind wrapper and cacheable wrapper. Task can now access the node they execute on. Various performance improvements were implemented.
5.2.810 Aug 2017 05:00 major bugfix: JPPF-504 Local node never completes connection to server, JPPF-506 Client side load-balancer does not use the configuration passed to the JPPFClient constructor, JPPF-509 Regression: topology monitoring API does not detect peer to peer connections anymore, JPPF-510 Documentation on job listeners does not mention isRemoteExecution() and getConnection() methods of JobEvent, JPPF-512 PeerAttributesHandler spawns too many threads, JPPF-513 Using @JPPFRunnable annotation leads to ClassNotFoundException, JPPF-505 Ability to disable the bias towards local node in the driver
5.2.712 Jun 2017 05:31 minor feature: JPPF-498 Client reconnect to driver failure, JPPF-503 JPPF Serialization: ConcurrentModificationException when serializing a java.util.Vector, JPPF-502 Ability to dynamically change the settings of the client load balancer.
6.0-alpha10 Apr 2017 06:44 major feature: JPPF-23 Web based administration console. JPPF-486 Removal of JPPFDataTransform and replacement with composite serialization. JPPF-444 Fluent interfaces. JPPF-481 Monitoring and management UI enhancements. JPPF-492 Monitoring API: move collapsed state handling out of TopologyDriver class. JPPF-469 Remove deprecated APIs. JPPF-487 Drop support of Apache Geronimo in the JCA connector
5.2.602 Apr 2017 17:54 major feature: JPPF-494 Extend the driver's JobTaskListener facility. JPPF-495 JobListener.jobDispatched() notification is sent too early. JPPF-496 JCA connector: packaging prevents effective logging in JBoss 7 and Wildfly.
5.1.602 Apr 2017 17:52 major bugfix: JPPF-496 JCA connector: packaging prevents effective logging in JBoss 7 and Wildfly
5.2.510 Mar 2017 06:04 major bugfix: JPPF-485 Number of peer total processing threads is not propagated properly. JPPF-488 Priority of client connection pools is not respected. JPPF-489 JPPFDriverAdminMBean.nbNodes() returns incorrect value when management is disabled on one or more nodes
5.2.418 Jan 2017 07:44 major bugfix: JPPF-479 Task cancelation/timeout problems, JPPF-482 Kryo serialization uses wrong class loader upon deserialization, JPPF-483 ConcurrentModificationException in AbstractExecutionManager, JPPF-484 Invocation of tasks' onCancel() method is not clearly documented
5.2.327 Nov 2016 08:43 minor bugfix: Bug fix: JPPF-479 Task cancelation/timeout problems
5.2.230 Sep 2016 09:54 minor feature: Enhancements: JPPF-475 JMXMP large notifications lead to OutOfMemoryError, JPPF-478 Improvements in AbstractAdaptiveBundler. Bug fixes: JPPF-473 Incorrect classpath configured in wrapper-driver.conf and wrapper-node.conf, JPPF-474 Missing section on Task.compute() in online documentation, JPPF-476 J2EE connector does not use specified number of local executor threads, JPPF-477 Clarify usage of "jppf.discovery.enabled" and "jppf.remote.execution enabled" in client config
5.2.122 Aug 2016 06:19 minor feature: JPPF-467 Custom discovery mechanisms for peer drivers and clients, JPPF-470 JPPF serialization: serialization of single byte and char values results in ClassCastException
5.1.519 Aug 2016 05:51 minor bugfix: JPPF-460 .Net API doc issues, JPPF-461 The source distribution does not build properly, JPPF-464 Server statistics do not fit window size. For german locale the text does not fit in the boxes, JPPF-465 Adaptive Grid demo is not working, JPPF-458 Ability to shutdown a driver without exiting the JVM
5.202 Aug 2016 06:54 major feature: Global grid execution policies, node filtering in the console, job dependencies management, network interceptors, node configuration on the fly, new load-balancing algorithm with full documentation, revamped configuration API, full-fledged continuous integration, and more.
5.2-beta229 Jun 2016 07:50 major feature: JPPF-453 Network communication interceptors. JPPF-456 Pluggable MBeanServerForwarder for drivers and nodes. JPPF-457 Pluggable environment providers for JMXMP connector clients and servers
5.1.412 Jun 2016 14:46 major bugfix: JPPF-448 JMXMPServer generates malformed JMX service urls for IPv6 addresses. JPPF-450 Jobs get stuck in the server when client is terminated. JPPF-451 Android demo: exception in the client upon receiving results from the server. JPPF-452 Android node: blank feedback screen when returning to the main activity. JPPF-454 J2EE connector rar files are missing the jmx remote jar. JPPF-455 Enhancements to the J2EE connector
5.2 beta11 May 2016 12:07 major feature: Visual improvements were made to the Android node's default feedback screen. The job SLA can now specify global filtering rules based on the server properties and the number of nodes satisfying one or more conditions. It can also specify the desired nodes configuration of the nodes on which the job will execute and force the nodes to reconfigure accordingly. Execution policies based on server properties now have access to the server statistics. A full documentation section on load balancing was added. A new sample was added, illustrating full-fledged management of dependencies between jobs.
5.1.324 Mar 2016 07:04 minor bugfix: Visual improvements were made to the Android node's default feedback screen. The job SLA can now specify global filtering rules based on the server properties and the number of nodes satisfying one or more conditions. It can also specify the desired nodes configuration of the nodes on which the job will execute and force the nodes to reconfigure accordingly. Execution policies based on server properties now have access to the server statistics. A full documentation section on load balancing was added. A new sample was added, illustrating full-fledged management of dependencies between jobs.
5..2-alpha08 Feb 2016 07:10 major feature: The administration console can now filter nodes out using an execution policy editor with import/export capabilities. It is also possible to select the visible statistics in the server statiscs view. Syntax hihghlighting was added to all the editors: properties/node filtering. The splash Screen is now fully customizable. All documented configuration properties are now defined constants and a new and elegant API was created to handle them easily. * it is now possible to specify in the configuration which JVM to use for the nodes and servers. A new extension point brings the ability to chain serialization schemes, to provide compression or encryption over actual serialization. The JPPF serialization scheme was thouroughly optimized and is now faster than the Java serialization. It is now possible to register for statistics change events in the server. It is now possible to configure the Android node to pause or terminate when the device's battery is low.
5.1.205 Feb 2016 06:54 major bugfix: This maintenance release fixes a problem causing the server to freeze when running on a single-core machine
5.1.130 Nov 2015 05:33 major bugfix: This maintenance release fixes a memory leak in the client, a bug resulting in the admin conosle missing information on node pending actions, along with an issue preventing drivers from redirecting their standard and error output to files.
5.0.529 Oct 2015 06:48 major bugfix: This maintenance release brings a long-awaited solution to the problem of orphaned servers, along with a speedup of the nodes and client connection to the server and access to the client from an embedded administrationn console. It also fixes a rare memory leak in the client, excessive logging in the admin console, an exception raised when submitting roadcast jobs and various issues in the Mandelbrot fractal demo.
4.2.926 Oct 2015 08:45 major bugfix: This maintenance release fixes a rare deadlock in the client and a memery leak in the client's job queue.
5.115 Oct 2015 07:11 major feature: JPPF 5.1 brings integration with the Android platform, a new client-side job monitoring API, new management and monitoring features and enhancements, new server extensions and improvements, real syntax highlighting in the online documentation, and more.
5.1 beta17 Sep 2015 06:42 major feature: The main focus of JPPF 5.1 beta is the port of JPPF nodes to the Android platform, with the addition of a new job monitoring API, the extension of job management APIs with job selectors, extended notification of tasks status in the server, and more
5.0.407 Aug 2015 05:59 major bugfix: This release brings fixes for responsiveness issues with node provisioning requests, a problem preventing local nodes from working and several issues preventing broadcast jobs from working according to specifications.
5.0.325 Jun 2015 06:29 major bugfix: This release brings fixes for responsivness issues in the driver and the administration console, rare problems preventing a node or driver from starting, and a broken feature preventing slave nodes from being restarted.
5.0.203 May 2015 09:11 major bugfix: This release brings bug fixes for the JMX remote connector, the JPPF client, the administration console and the custom load balancer demo. Also two enhancements allow for improved node host name resolution and finer-grained management fo the nodes active state.
4.2.803 May 2015 09:07 major bugfix: This release brings bug fixes for the JMX remote connector, JPPF server and J2EE connector.
5.0.103 Apr 2015 06:55 minor bugfix: This maintenance release brings an enhancement to enable the nodes to expose and cancel any pending/deferred action, along with a fix for the bug JPPF-379 Node idle host is broken.
4.2.706 Mar 2015 08:07 minor bugfix: This maintenance release brings fixes for the bugs JPPF-368: no guaranteed way to correlate a master node and its slaves, and JPPF-373: properties substitutions not working in some cases in 4.2.x
5.0 GA02 Mar 2015 06:40 major feature: This release brings a large set of new features. .Net integration: submit .Net workloads and execute them on a JPPF grid. Administration console extensions: pluggable views, hide built-in views, embed the console in your own GUI, and many improvements to the layout, capbilities and repsonsiveness. New APIs: grid topology monitoring, powerful methods to access client connection pools, execution policy context, and more. New server extensions and improvements. Improvement to the management and monitoring APIs. Simplified deployment as Windows services. Refactoring of distribution packaging.
4.2.609 Feb 2015 08:03 minor feature: Fixed bugs: J2EE connector does not work with Wildfly 8.x app server, Node unable to reconnect when connection is closed from a separate thread, Nodes not enrolled in tasks distribution when JMX server is disabled or unreachable, Driver sends results for wrong job upon task resubmit. Enhancement: Ability for the client to handle multiple class loaders per job.
5.016 Jan 2015 04:25 major feature: This release brings a large set of new features. .Net integration: submit .Net workloads and execute them on a JPPF grid. Administration console extensions: pluggable views, hide built-in views, embed the console in your own GUI, and many improvements to the layout, capbilities and repsonsiveness. New APIs: grid topology monitoring, powerful methods to access client connection pools, execution policy context, and more. New server extensions and improvements. Improvement to the management and monitoring APIs. Simplified deployment as Windows services. Refactoring of distribution packaging.
4.2.526 Dec 2014 04:13 minor bugfix: This maintenance release brings important bug fixes and enhancements
4.2.416 Nov 2014 07:52 minor bugfix: This maintenance release brings important bug fixes and enhancements
4.2.319 Oct 2014 18:36 minor bugfix: This maintenance release brings important bug fixes
5.0 alpha13 Sep 2014 10:38 major feature: This alpha release brings new node management features, administration console improvements, new client and job APIs, OOTB cpu scavenging and e more consistent libraries packaging.
4.2.213 Sep 2014 06:07 minor bugfix: JPPF 4.2.2 brings important bug fixes.
4.2.115 Aug 2014 10:51 minor bugfix: JPPF 4.2.1 brings important bug fixes and enhancements.
4.227 Jul 2014 16:39 major feature: JPPF 4.2 brings a simplification of the client APIs, a greater focus on connections pools, huge improvments on concurrent jobs submissions, new execution policies testing membership to IPv4 or IPv6 subnets, fine-grained control of tasks resubmmission, tutorial updates and much more.