Skip to content

Releases: WorkerFramework/worker-framework

v9.0.0

14 Nov 05:50
3a81155
Compare
Choose a tag to compare

Version Number

9.0.0-1293

Breaking change

  • US975260: Refactor to remove HPE references in package names

New Features

  • None

Known Issues

  • None

Release Artifacts

Maven
Read more

v8.2.0

23 Oct 17:12
ddccb1b
Compare
Choose a tag to compare

Version Number

8.2.0-1283

New Features

  • US969005: Add support for getting secrets from configurable sources.
    • The RabbitMQ password can be retrieved from:
      • Environment variable named CAF_RABBITMQ_PASSWORD (enabled by default via CAF_ENABLE_ENV_SECRETS, defaults to true)
      • File content in path specified by environment variable named CAF_RABBITMQ_PASSWORD_FILE (enabled via CAF_ENABLE_FILE_SECRETS, defaults to false)

Known Issues

  • None

Release Artifacts

Maven
Read more

v8.1.0

11 Jun 09:50
7848a5a
Compare
Choose a tag to compare

Version Number

8.1.0-1251

New Features

  • US914108: Version Currency: JUnit 5 migration
  • US915147: Support for liveness and readiness checks added.
    • The WorkerFactory interface contains a new livenessCheck method, which has a default implementation that returns
      HealthResult.RESULT_HEALTHY. A worker may optionally override this method to provide their own implementation of liveness.
  • A new /health-check?name=all&type=ALIVE endpoint has been added on the default REST port (8080) to check if a worker is alive
  • A new /health-check?name=all&type=READY endpoint has been added on the default REST port (8080) to check if a worker is ready
  • See the documentation
    for more details.

Bug Fixes

  • I506009: Fix implemented to ensure that adjusting CAF_WORKER_RETRY_LIMIT to the current retry value will
    no longer result in infinite retries of a message. The message will now be correctly identified as
    poisonous and passed on to the next worker.

Known Issues

  • None

Release Artifacts

Maven
Read more

v8.0.1

04 Apr 14:19
689712d
Compare
Choose a tag to compare

Version Number

8.0.1-1211

New Features

  • None

Bug Fixes

  • I887031: Replace use of the TrustEverythingTrustManager with a TrustManager provided by the
    javax.net.ssl.TrustManagerFactory.

Known Issues

  • None

Release Artifacts

Maven
Read more

v8.0.0

07 Feb 17:09
97f2c56
Compare
Choose a tag to compare

Version Number

8.0.0-1196

New Features

  • US862045: Quorum queues leveraging 'x-delivery-count' for the handling of poison messages.

Bug Fixes

  • I445035: Workers now attempt to complete all in-progress and pre-fetched tasks before shutting down.
  • I874162: Fixed issue where the JobStatusResponseCache was not working for HTTPS requests.

Known Issues

Breaking Changes

  • US749035: Classic queues and priority queues are deprecated, priority queues can still be created however it is no
    longer possible to publish messages with a priority.
    When using cfg~caf~worker~RabbitWorkerQueueConfiguration.js, the type of queue created by workers can be controlled
    by the ENV CAF_RABBITMQ_QUEUE_TYPE, this currently defaults to 'quorum', but will be removed in a future release.
  • US857114: Introduced configurable Rabbit MQ protocol so that, if desired, Rabbit MQ communication can be TLS
    enabled. When using cfg~caf~worker~RabbitConfiguration, the rabbit protocol used by services can be configured using
    the CAF_RABBITMQ_PROTOCOL environment variable. The default value is 'amqp'.
    Consumers using the util-rabbitmq module will need to handle additional exceptions when creating a Rabbit connection
    through RabbitUtil.java. RabbitUtil.createRabbitConnection now requires a protocol argument.

Release Artifacts

Maven
Read more

v7.0.0

24 Nov 10:48
3c89937
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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