Releases: allegro/hermes
hermes-2.4.0 - spring boot 3
What's Changed
Enhancements
Removed in this version
RestTemplateHermesSender
was removed because of removal ofAsyncRestTemplate
in spring boot 3
Full Changelog: hermes-2.3.1...hermes-2.4.0
Hermes 2.3.1
Hermes 2.3.0 - Java 17 and Spring Boot 2.7.7
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
- bump spring boot to 2.7.7 by @moscicky in #1678
- Endpoint for moving subscription offsets to the latest position by @faderskd in #1662
- Support for prometheus metrics - part II by @faderskd in #1668
Bugfixes
Full Changelog: hermes-2.2.13...hermes-2.3.0
2.2.13
What's Changed
Enhancements
- Added button blocking until backend responds on removing group, topic… by @szczygiel-m in #1652
- hermes-mock - stub mappings remove support by @straburzynski in #1655
- Add logs to flaky test - prepareEnvironment by @WojciechSova in #1583
- Reduce deprecated usages by @WojciechSova in #1596
- Readiness admin panel resilient to data center unavailability by @piotrrzysko in #1658
- Update deprecated set-output and link by @WojciechSova in #1670
- CI jobs name independent of Java version by @moscicky in #1674
- Upgrade to Java 17 by @moscicky in #1673
Bugfixes
- Undelivered messages are invisible to unauthorized users by @Diewa in #1644
- Fix hermes-mock avro content matching (#1653) by @sobelek in #1654
- Fixed reporting throughput in batches by @piotrrzysko in #1667
- Pubsub subscription compression fix by @michalferlinski in #1666
- Fix bower packages download by @faderskd in #1676
New Contributors
- @straburzynski made their first contribution in #1655
Full Changelog: hermes-2.2.9...hermes-2.2.13
hermes-2.2.12
What's Changed
Enhancements
- Added button blocking until backend responds on removing group, topic… by @szczygiel-m in #1652
- hermes-mock - stub mappings remove support by @straburzynski in #1655
- Add logs to flaky test - prepareEnvironment by @WojciechSova in #1583
- Reduce deprecated usages by @WojciechSova in #1596
- Readiness admin panel resilient to data center unavailability by @piotrrzysko in #1658
- Update deprecated set-output and link by @WojciechSova in #1670
- CI jobs name independent of Java version by @moscicky in #1674
Bugfixes
- Undelivered messages are invisible to unauthorized users by @Diewa in #1644
- Fix hermes-mock avro content matching (#1653) by @sobelek in #1654
- Fixed reporting throughput in batches by @piotrrzysko in #1667
- Pubsub subscription compression fix by @michalferlinski in #1666
- Fix bower packages download by @faderskd in #1676
New Contributors
- @straburzynski made their first contribution in #1655
Full Changelog: hermes-2.2.9...hermes-2.2.12
hermes-2.2.11
What's Changed
Enhancements
- Added button blocking until backend responds on removing group, topic… by @szczygiel-m in #1652
- hermes-mock - stub mappings remove support by @straburzynski in #1655
- Add logs to flaky test - prepareEnvironment by @WojciechSova in #1583
- Reduce deprecated usages by @WojciechSova in #1596
- Readiness admin panel resilient to data center unavailability by @piotrrzysko in #1658
- Update deprecated set-output and link by @WojciechSova in #1670
Bugfixes
- Undelivered messages are invisible to unauthorized users by @Diewa in #1644
- Fix hermes-mock avro content matching (#1653) by @sobelek in #1654
- Fixed reporting throughput in batches by @piotrrzysko in #1667
- Pubsub subscription compression fix by @michalferlinski in #1666
New Contributors
- @straburzynski made their first contribution in #1655
Full Changelog: hermes-2.2.9...hermes-2.2.11
hermes-2.2.10
What's Changed
Enhancements
- Added button blocking until backend responds on removing group, topic… by @szczygiel-m in #1652
- hermes-mock - stub mappings remove support by @straburzynski in #1655
- Add logs to flaky test - prepareEnvironment by @WojciechSova in #1583
- Reduce deprecated usages by @WojciechSova in #1596
- Readiness admin panel resilient to data center unavailability by @piotrrzysko in #1658
Bugfixes
- Undelivered messages are invisible to unauthorized users by @Diewa in #1644
- Fix hermes-mock avro content matching (#1653) by @sobelek in #1654
New Contributors
- @straburzynski made their first contribution in #1655
Full Changelog: hermes-2.2.9...hermes-2.2.10
hermes-2.2.9
What's Changed
Bugfixes
- Fixed JXPath library vulnerability by @szczygiel-m in #1651
Full Changelog: hermes-2.2.8...hermes-2.2.9
2.2.8
What's Changed
Enhancements
- Docker-compose working on m1 by @dswiecki in #1614
- preserve testng test order by @moscicky in #1640
- add logs to zookeeper container by @moscicky in #1641
- failing test reporter by @moscicky in #1634
- Configurable consumer inflight queue size by @moscicky in #1648
Bugfixes
- fix schema registry in docker compose by @moscicky in #1639
- fix groovy version collision by @moscicky in #1646
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:
- For subscriptions with
subscriptionInflightSize >= globalInflightSize
, setsubscriptionInflightSize=globalInflightSize
- Deploy hermes-management with new version
- Deploy hermes-consumers with new version
- For subscriptions with
subscriptionInflightSize == globalInflightSize
, setsubscriptionInflightSize=null
Rollback
Changes are safe to rollback.