Skip to content

Releases: WorkerFramework/worker-framework

v7.0.0

24 Nov 10:48
3c89937

Choose a tag to compare

Version Number

7.0.0-1167

New Features

  • 792072: Improvement of poison message error description.
    • Environment variable CAF_WORKER_FRIENDLY_NAME has been added to specify the worker referred to in poison message error. If not
      defined, the worker class name will be used by default.

Bug Fixes

  • 743080: Excessive calls to queueDeclare have been prevented by recording previously declared queues.

Breaking Changes

  • US361030: Java 8 and Java 11 support dropped
    Java 17 is now the minimum supported version.

  • US361030: BOM no longer supplied
    The worker-framework BOM project module is no longer supplied.

  • US361030: Jakarta EE version update
    The version of Jakarta EE used for validation and other purposes has been updated
    from Jakarta EE 8 to Jakarta EE 9. This may mean that javax.* imports in worker
    code need to be updated to jakarta.* instead.

  • I854021: Reinstate base64 encoding of taskData
    TaskData is once again encoded using base64 and the V4 message format no longer supported.

  • US853025: The util-store module has been removed

Known Issues

  • None

Release Artifacts

Maven
Read more

v6.0.0

06 Apr 14:45
cf8c537

Choose a tag to compare

Version Number

6.0.0-1107

New Features

  • 614206: Diverted message checking can now be disabled using the CAF_WORKER_ENABLE_DIVERTED_TASK_CHECKING environment
    variable.

Breaking Changes

  • 378627: Removes worker-testing-util and worker-testing-integration
    Those modules have been migrated to the worker-framework-testing

Known Issues

  • None

v5.1.0

11 Oct 17:08

Choose a tag to compare

Version Number

5.1.0-919

New Features

  • SCMOD-13868: Added new worker-store-http module.
    A new storage module has been added which allows a standard HTTP web server to be used for storage, using GET for retrieval, PUT
    for storage, and DELETE for delete.
  • SCMOD-5524: Eliminated base64 encoding of taskData to reduce message size.

Known Issues

  • None

Release Artifacts

Maven
Read more

v5.0.0

18 May 18:11

Choose a tag to compare

Version Number

5.0.0-886

New Features

  • SCMOD-12257: Correlation Id support has been added to worker-framework which can be used for tracking messages.
    The Correlation Id will be included in the output message so downstream workers must be on a version that supports it.

Bug Fixes

  • SCMOD-13301: Removed any use of Files.exists()
    java.io.File.exists sometimes reports incorrect result (JDK-5003595)
  • SCMOD-12319: The worker archetype has been deprecated.

Breaking Changes

  • SCMOD-12730: Added pause task functionality.
    • The statusCheckUrl workers used to check the status of a task now points to the status endpoint instead of the
      isActive endpoint.
    • Instead of returning true or false, the statusCheckUrl will now return one of Active, Cancelled,
      Completed, Failed, Paused, or Waiting.
    • When a worker receives a task, it will now check if the task has been paused using the statusCheckUrl.
    • If the task has been paused, and the CAF_WORKER_PAUSED_QUEUE environment variable is set, the worker will publish
      the task to the CAF_WORKER_PAUSED_QUEUE instead of processing it.
    • If the task has been paused, and the CAF_WORKER_PAUSED_QUEUE environment variable is NOT set, the worker process
      the task as normal (as if the task was not paused).

Known Issues

  • None

Release Artifacts

Maven
Read more

v4.0.0

11 Jan 10:52

Choose a tag to compare

Version Number

4.0.0-850

New Features

  • caf-common upgraded to 1.20.0-288
    Configuration files can now be supplied as resources in addition to external files.
    Configuration files now support ECMAScript 2020 features.

Breaking Changes

  • SCMOD-9988: Lyra client dropped
    • The Lyra client used to create an auto-recovering connection to RabbitMQ has been replaced with the latest RabbitMQ
      Java client.
    • Registering as a net.jodah.lyra.event.ConnectionListener is no longer supported.
      Instead, implement the com.rabbitmq.client.RecoveryListener and com.rabbitmq.client.ExceptionHandler interfaces as
      needed.
    • The following methods have been removed from RabbitUtil:
      • createRabbitConnection(ConnectionOptions opts, Config config)
      • createLyraConnectionOptions(String host, int port, String user, String pass)
      • createLyraConfig(int backoffInterval, int maxBackoffInterval, int maxAttempts)

Known Issues

  • None

Release Artifacts

Maven
Read more

v3.4.0

10 Aug 02:37

Choose a tag to compare

Version Number

3.4.0-758

New Features

  • SCMOD-9780: Java 11 support
    The Worker Framework has been verified using Java 11 at runtime. The archetype has been updated to use the latest released Java 11 image.

  • SCMOD-8463: Confirm health checks before starting
    In version 3.0.0 the Worker Framework was updated to stop accepting work if any of its health checks started to fail. This has now been updated again so that it will not start accepting work until there has been a successful pass of the health checks.

  • SCMOD-9102: New filesystem health check
    A new health check has been added for confirming that the filesystem is accessible (when using the default worker-store-fs module).

  • SCMOD-4887: Poison message recording
    Poison messages are now output to the worker's reject queue, to help to analyse why they caused the worker to crash.

Bug Fixes

  • None

Known Issues

  • None

v3.3.0

19 Mar 15:04

Choose a tag to compare

Version Number

3.3.0-719

Bug Fixes

  • SCMOD-8127: Improved resiliency against RabbitMQ connection being dropped
    An issue which could causes workers to get into a state whereby they stopped taking in new work, but continued to report as healthy, has been resolved. Previously the issue could happen if the connection to RabbitMQ was interrupted.

v3.2.0

23 Oct 15:41

Choose a tag to compare

Version Number

3.2.0-684

New Features

  • SCMOD-7470: Support disabling bootstrapping Logback
    Bootstrapping is based on whether or not a logback.xml file is present.

Bug Fixes

  • SCMOD-5410: Potential for task statuses not to be reported.
    An unexpected termination of a worker could result in the loss of job tracking messages.
  • SCMOD-7272: Updated the publish confirm count for retry queue to reflect correct state

v3.1.0

06 Dec 14:23

Choose a tag to compare

Version Number

3.1.0-490

New Features

  • SCMOD-4898: Discard superfluous tracking messages
    The CAF_WORKER_DISABLE_ZERO_PROGRESS_REPORTING environment variable can be set to true to cause zero-progress tracking messages not to be sent.

Known Issues

  • None

v3.0.0

03 Jul 12:07

Choose a tag to compare

Version Number

3.0.0-399

New Features

  • Added support for asynchronous job updates.
    Previously messages were proxied through the Job Tracking worker and it updated the database with their progress. This made the worker too much of a bottleneck. Instead the Worker Framework now sends the progress messages directly to the Job Tracking worker and then separately sends the output message to the target.

Breaking Changes

  • As a result of adding support for asynchronous job updates, Job Service 2.3.0 and versions prior are no longer supported.
  • SCMOD-4072: Updated to use latest version of dropwizard (1.3.5).
  • SCMOD-3525: Updated AbstractWorkerFactory to remove createWorker method that took TrackingInfo as a parameter. Instead the create worker method now accepts the WorkerTaskData. The abstract worker constructor now also requires the WorkerTaskData to be passed to it. If the tracking data is required in the implementation code it can be obtained from the WorkerTaskData.

Known Issues

  • None