Skip to content

Commit 99e5f06

Browse files
Release notes for 9.4.0 (#18973) (#19075)
(cherry picked from commit c6e4264) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 7c0ca8a commit 99e5f06

2 files changed

Lines changed: 117 additions & 1 deletion

File tree

docs/release-notes/breaking-changes.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,19 @@ Before you upgrade, carefully review the Logstash breaking changes and take the
1515
% **Action**<br> Steps for mitigating deprecation impact.
1616
% ::::
1717

18+
19+
## 9.4.0 [logstash-940-breaking-changes]
20+
21+
22+
::::{dropdown} JDK17 not supported
23+
:name: jdk-17-support-drop
24+
25+
JDK 21 is now the minimum version of the JDK required to run {{ls}}. This release upgrades JRuby from 9.x to 10.x, which requires JDK 21 or later.
26+
For the best experience, we still recommend running {{ls}} using the bundled-jdk.
27+
See [Logstash JVM requirements](/reference/getting-started-with-logstash.md#ls-jvm)
28+
for details [#19010](https://github.com/elastic/logstash/pull/19010).
29+
::::
30+
1831
## 9.0.0 [logstash-900-breaking-changes]
1932

2033

docs/release-notes/index.md

Lines changed: 104 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,109 @@ To check for security updates, go to [Security announcements for the Elastic sta
2121
% ### Fixes [logstash-next-fixes]
2222
% *
2323

24+
## 9.4.0 [logstash-9.4.0-release-notes]
25+
26+
### Features and enhancements [logstash-9.4.0-features-enhancements]
27+
28+
#### Reactive pipeline recovery [logstash-9.4.0-reactive-pipeline-recovery]
29+
30+
This release adds a feature to recover from pipeline crashes, under the setting `pipeline.recovery` [#18930](https://github.com/elastic/logstash/pull/18930).
31+
Crash recovery is applied when `config.reload.automatic` is enabled and accepts:
32+
33+
* `auto`: enables pipeline crash recovery for pipelines backed by the persistent queue
34+
* `false` (default): do not automate recovery of crashed pipelines
35+
* `true`: enables pipeline crash recovery for any pipeline, even if backed by the ephemeral memory queue (risk: data loss)
36+
37+
#### Batch chunking [logstash-9.4.0-batch-chunking]
38+
39+
We have added a safety mechanism to limit memory expansion when using filters that produce more events than they consume (like the `split` filter), controlled by the new `pipeline.batch.output_chunking.growth_threshold_factor` setting [#18680](https://github.com/elastic/logstash/pull/18680).
40+
When a batch growth exceeds the configured factor, it is re-chunked into smaller batches of `pipeline.batch.size` events before being handled by the outputs.
41+
42+
#### New batch histogram metrics [logstash-9.4.0-new-batch-histogram-metrics]
43+
44+
We've improved visibility of batch sizing at a pipeline level by exposing new histogram-type metrics in the `GET /_node/stats` endpoint [#17838](https://github.com/elastic/logstash/issues/17838).
45+
These metrics show the distribution of batch sizes in bytes and event-count for the lifetime of the pipeline, as well as for the most recent 1, 5, and 15-minute time windows.
46+
47+
#### Additional features and enhancements [logstash-9.4.0-more-features]
48+
49+
* Performance improvements which saves ~40% CPU resource on DLQ segment file lookup operations [19013](https://github.com/elastic/logstash/pull/19013)
50+
51+
### Updates to dependencies [logstash-9.4.0-dependencies]
52+
53+
* Update JRuby to 10.0.5.0
54+
* Update bundled JDK to 21.0.10 build 7
55+
56+
::::{important}
57+
58+
Logstash 9.4.0 upgrades JRuby to 10 because 9.x is now EOL. JRuby 10 requires Java 21, dropping support for any version below, including 17.
59+
For this reason, Logstash now also requires Java 21 or later, and Java 17 is no longer supported.
60+
61+
As of JDK 21.0.10, all `TLS_RSA_*` cipher suites are deactivated by default due to their lack of forward secrecy. Connections relying on these suites will fail with an `SSLHandshakeException` and must be migrated to ECDHE-based cipher suites.
62+
63+
::::
64+
65+
### Plugins [logstash-plugin-9.4.0-changes]
66+
67+
::::{important}
68+
69+
The Kafka Integration plugin `11.x` has been deprecated. The next minor Logstash release will bundle Kafka integration plugin `12.x` in its place, which introduces breaking changes, read more about them in the [CHANGELOG.md](https://github.com/logstash-plugins/logstash-integration-kafka/blob/v12.0.0/CHANGELOG.md#1200)
70+
71+
::::
72+
73+
**Aggregate Filter - 2.11.0**
74+
75+
* Feature: Add a warning log message when the number of tasks stored in memory exceeds the configured threshold [#125](https://github.com/logstash-plugins/logstash-filter-aggregate/issues/125)
76+
77+
**Aws Integration - 7.3.4**
78+
79+
* Use milliseconds timestamp precision in S3 input to fix the skip backup and delete object issue in S3-compatible storage services [#60](https://github.com/logstash-plugins/logstash-integration-aws/pull/60)
80+
* Replace deprecated `Aws::S3::Object#upload_file` in favor of `Aws::S3::TransferManager#upload_file` [#67](https://github.com/logstash-plugins/logstash-integration-aws/pull/67)
81+
* Replace deprecated `File.exists?` with `File.exist?` for Ruby 3.4 (JRuby 10) compatibility [#65](https://github.com/logstash-plugins/logstash-integration-aws/pull/65)
82+
* Re-packaging the plugin [#63](https://github.com/logstash-plugins/logstash-integration-aws/pull/63)
83+
* Add `cutoff_second configuration` option to S3 input plugin [#59](https://github.com/logstash-plugins/logstash-integration-aws/pull/59)
84+
85+
**Date Filter - 3.2.0**
86+
87+
* Add `precision` setting to support nanosecond precision timestamps [#165](https://github.com/logstash-plugins/logstash-filter-date/pull/165)
88+
* `ms` (default): timestamps are stored with millisecond precision
89+
* it keeps the same behavior as before for backward compatibility
90+
* fractional seconds are truncated to 3 digits
91+
* custom parsing formats use `joda-time` library
92+
* `ns`: timestamps are stored with nanosecond precision
93+
* fractional seconds support up to 9 digits
94+
* custom parsing formats use `java.time`
95+
* `ISO8601` now accepts up to 9 fractional-second digits
96+
97+
**De_dot Filter - 1.2.0**
98+
99+
* Apply an 'error' tag to any event that fails the de-dotting process [#26](https://github.com/logstash-plugins/logstash-filter-de_dot/pull/26)
100+
101+
**Dissect Filter - 1.3.0**
102+
103+
* Add JRuby 10 support: replace removed `NativeException` with `RaiseException`, source JRuby from Logstash vendor directory instead of pinning Maven version [#96](https://github.com/logstash-plugins/logstash-filter-dissect/pull/96)
104+
105+
**Elastic Integration Filter - 9.4.0**
106+
107+
* Include Elasticsearch web-utils JAR into the plugin to keep `registered_domain` processor dependencies [#397](https://github.com/elastic/logstash-filter-elastic_integration/pull/397)
108+
* Fixed `set_security_user` processor to behave consistently with other unsupported processors (`inference`, `enrich`) by tagging events with `_ingest_pipeline_failure` [#269](https://github.com/elastic/logstash-filter-elastic_integration/pull/269)
109+
110+
**Fingerprint Filter - 3.5.0**
111+
112+
* Fix fingerprint instability for Hash and Array field values caused by JRuby 10 changing `Hash#inspect` formatting [#79](https://github.com/logstash-plugins/logstash-filter-fingerprint/pull/79)
113+
114+
**Kafka Integration - 11.8.8**
115+
116+
* Fix a regression introduced in `11.8.7` where `sasl_jaas_config` was incorrectly typed in the output plugin, crashing Logstash on startup when a SASL Kafka output configuration was present [#247](https://github.com/logstash-plugins/logstash-integration-kafka/pull/247)
117+
118+
**Mutate Filter - 3.6.0**
119+
120+
* Add JRuby 10 support: fix integer conversion precision loss beyond 2^53 caused by `parse_signed_hex_str` routing all strings through `Float()` [#178](https://github.com/logstash-plugins/logstash-filter-mutate/pull/178)
121+
122+
**Gelf Input - 3.4.0**
123+
124+
* Updates the `gelf` dependency [#77](https://github.com/logstash-plugins/logstash-input-gelf/pull/77)
125+
126+
24127
## 9.3.4 [logstash-9.3.4-release-notes]
25128

26129
### Updates to dependencies [logstash-9.3.4-dependencies]
@@ -1024,4 +1127,4 @@ Check out the [security advisory](https://discuss.elastic.co/c/announcements/sec
10241127

10251128
**Tcp Output - 7.0.0**
10261129

1027-
* Remove deprecated SSL settings [#58](https://github.com/logstash-plugins/logstash-output-tcp/pull/58)
1130+
* Remove deprecated SSL settings [#58](https://github.com/logstash-plugins/logstash-output-tcp/pull/58)

0 commit comments

Comments
 (0)