Skip to content

Releases: allegro/hermes

hermes-2.4.0 - spring boot 3

29 Jun 08:39
3d89af5
Compare
Choose a tag to compare

What's Changed

Enhancements

Removed in this version

  • RestTemplateHermesSender was removed because of removal of AsyncRestTemplate in spring boot 3

Full Changelog: hermes-2.3.1...hermes-2.4.0

Hermes 2.3.1

27 Jun 11:28
e6c6f64
Compare
Choose a tag to compare

What's Changed

Enhancements

  • Add missing HermesMockExpect documentation by @3750 in #1682

Bugfixes

  • hermes-mock | Fix matching avro messages with nullable fields by @sobelek in #1677

New Contributors

Full Changelog: hermes-2.3.0...hermes-2.3.1

Hermes 2.3.0 - Java 17 and Spring Boot 2.7.7

26 Jun 12:19
8bbd3f4
Compare
Choose a tag to compare

From this version Hermes now runs on Java 17, using Spring Boot 2.7.7. Also gradle was bumpped to version 7.6.

Changes

Transitive dependencies

Many dependencies are now hidden by default (implementation instead of compile), this can cause missing dependencies issues if you are using one of hermes libraries in your project. If you thinks some dependency should be transitive, please submit an issue.

New parameters required when running frontend with persistent buffers

If you are using frontend with persistent buffers, you need to include the following parameters when running the frontend application:

        --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED
        --add-exports=java.base/sun.nio.ch=ALL-UNNAMED
        --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED
        --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
        --add-opens=jdk.compiler/com.sun.tools.javac=ALL-UNNAMED
        --add-opens=java.base/java.lang=ALL-UNNAMED
        --add-opens=java.base/java.lang.reflect=ALL-UNNAMED
        --add-opens=java.base/java.io=ALL-UNNAMED
        --add-opens=java.base/java.util=ALL-UNNAMED

These parameters are required for ChronicleMap which hermes uses as persistent buffer, see: https://chronicle.software/chronicle-support-java-17/

What's Changed

Enhancements

Bugfixes

  • Fix java 17 and spring-boot 2.7.7 migration bugs by @moscicky in #1685

Full Changelog: hermes-2.2.13...hermes-2.3.0

2.2.13

13 Jun 06:35
b0fb06f
Compare
Choose a tag to compare

What's Changed

Enhancements

Bugfixes

New Contributors

Full Changelog: hermes-2.2.9...hermes-2.2.13

hermes-2.2.12

29 Jun 07:13
6b5bb09
Compare
Choose a tag to compare

What's Changed

Enhancements

Bugfixes

New Contributors

Full Changelog: hermes-2.2.9...hermes-2.2.12

hermes-2.2.11

29 Jun 07:13
495aee0
Compare
Choose a tag to compare

What's Changed

Enhancements

Bugfixes

New Contributors

Full Changelog: hermes-2.2.9...hermes-2.2.11

hermes-2.2.10

29 Jun 07:14
f11cc0f
Compare
Choose a tag to compare

What's Changed

Enhancements

Bugfixes

New Contributors

Full Changelog: hermes-2.2.9...hermes-2.2.10

hermes-2.2.9

23 Jan 14:56
72ecc5a
Compare
Choose a tag to compare

What's Changed

Bugfixes

Full Changelog: hermes-2.2.8...hermes-2.2.9

2.2.8

27 Dec 12:51
d9dfb02
Compare
Choose a tag to compare

What's Changed

Enhancements

Bugfixes

Full Changelog: hermes-2.2.7...hermes-2.2.8

Important changes

This release changes the way in which inflight queue size for consumers is calculated.

Prior to this change inflight queue size was calculated based on 2 values:

  • subscriptionInflightSize - set per subscription, default value: 100
  • globalInflightSize - global property configured by consumer.serialConsumer.inflightSize, default value: 100

Final queue inflight size was calculated as min(subscriptionInflightSize, globalInflightSize).

In this release default subscriptionInflightSize is set to null, and final size will be calculated as:

subscriptionInflightSize != null ? subscriptionInflightSize : globalInflightSize

subscriptionInflightSize will be configurable only by admin users from now on.

Migration

Deploying this version without any migration would cause inflight queue of subscriptions with subscriptionInflightSize greater than globalInflightSize to grow to subscriptionInflightSize.

To prevent this the following migration is needed:

  1. For subscriptions with subscriptionInflightSize >= globalInflightSize, set subscriptionInflightSize=globalInflightSize
  2. Deploy hermes-management with new version
  3. Deploy hermes-consumers with new version
  4. For subscriptions with subscriptionInflightSize == globalInflightSize, set subscriptionInflightSize=null

Rollback

Changes are safe to rollback.

hermes-2.2.7

27 Dec 12:49
be47315
Compare
Choose a tag to compare

What's Changed

Enhancements

Full Changelog: hermes-2.2.6...hermes-2.2.7