---
title: "JMeter 5.4 Release Notes"
description: "Apache JMeter 5.4 release notes with 13 improvements and 24 bug fixes, plus upgrade notes from the official changelog."
url: https://docs.jmeter.ai/releases/5-4/
lastUpdated: 2026-10-01
source: docs.jmeter.ai
---

# JMeter 5.4 Release Notes

> **About these release notes**
> This page lists every documented change shipped in Apache JMeter 5.4, generated from the official changelog. For download and upgrade guidance, see [Download JMeter](/reference/download-jmeter/).

## Change summary

| Section | Changes |
| --- | --- |
| Incompatible changes | 1 |
| Improvements | 13 |
| Bug fixes | 24 |
| Non-functional changes | 31 |

## New and Noteworthy

### UX improvements

[Bug 62179](https://bz.apache.org/bugzilla/show_bug.cgi?id=62179)[Bug 64658](https://bz.apache.org/bugzilla/show_bug.cgi?id=64658)The splash screen is now application-modal rather than system-modal, so it does not block other
applications when JMeter is starting up.

## Incompatible changes

- Remove LogKit logger functionality from some classes. This was intended to completely remove       `LoggingManager` class (it has been deprecated since JMeter 3.2), but as jmeter-plugins       depended on it, `LoggingManager` and our `LogKit`-adapter will remain for       this version (but is still deprecated).

## Improvements

#### HTTP Samplers and Test Script Recorder

- [Bug 53848](https://bz.apache.org/bugzilla/show_bug.cgi?id=53848)[Bug 63527](https://bz.apache.org/bugzilla/show_bug.cgi?id=63527)Implement a new setting to allow the exclusion of embedded URLs
- [Bug 64696](https://bz.apache.org/bugzilla/show_bug.cgi?id=64696)[PR#571](https://github.com/apache/jmeter/pull/571)[PR#595](https://github.com/apache/jmeter/pull/595)Freestyle format for names in (Default)SamplerCreater. Based on a patch by Vincent Daburon (vdaburon at gmail.com)
- [Bug 64752](https://bz.apache.org/bugzilla/show_bug.cgi?id=64752)Add GraphQL/HTTP Request Sampler. Contributed by woonsan.

#### Other samplers

- [Bug 64555](https://bz.apache.org/bugzilla/show_bug.cgi?id=64555)Set JMSType header field through JMSProperties. Contributed by Daniel van den Ouden

#### Controllers

#### Listeners

- [PR#544](https://github.com/apache/jmeter/pull/544)Add BackendListener that sends “raw” results to InfluxDB. Contributed by Graham Russell       (graham at ham1.co.uk)

#### Timers, Assertions, Config, Pre- & Post-Processors

#### Functions

#### I18N

#### Report / Dashboard

- [Bug 64824](https://bz.apache.org/bugzilla/show_bug.cgi?id=64824)Dashboard/HTML Report: Rename `KO` to `FAIL`
- [Bug 64936](https://bz.apache.org/bugzilla/show_bug.cgi?id=64936)Increase generate_report_ui.generation_timeout to 5 minutes to handle large performance test

#### General

- [Bug 64446](https://bz.apache.org/bugzilla/show_bug.cgi?id=64446)Better parse curl commands with backslash at line endings and support `PUT` method with data arguments
- [PR#599](https://github.com/apache/jmeter/pull/599)Ensure all buttons added to the toolbar behave/look consistently. Contributed by Jannis Weis
- [Bug 64581](https://bz.apache.org/bugzilla/show_bug.cgi?id=64581)Allow `SampleResult#setIgnore` to influence behaviour on Sampler Error
- [Bug 64680](https://bz.apache.org/bugzilla/show_bug.cgi?id=64680)Fall back to `JMETER_HOME` on startup to detect JMeter’s installation directory
- [Bug 64787](https://bz.apache.org/bugzilla/show_bug.cgi?id=64787)[PR#630](https://github.com/apache/jmeter/pull/630)Add Korean translation. Contributed by Woonsan Ko (woonsan at apache.org)
- [Bug 64776](https://bz.apache.org/bugzilla/show_bug.cgi?id=64776)Add the ability to install additional SecurityProvider. Contributed by Timo (ASF.Software.Timo at Leefers.eu)

## Bug fixes

#### HTTP Samplers and Test Script Recorder

- [Bug 64479](https://bz.apache.org/bugzilla/show_bug.cgi?id=64479)Regression: HTTP(s) Script Recorder prevents proper shutdown in non-GUI mode
- [Bug 64653](https://bz.apache.org/bugzilla/show_bug.cgi?id=64653)Exclude Javascript and JSON from parsing for charsets from forms by proxy

#### Other Samplers

#### Controllers

- [Bug 64795](https://bz.apache.org/bugzilla/show_bug.cgi?id=64795)Generate summary report may not output a summary line in the configured interval (`summariser.interval`): Clarify documentation

#### Listeners

#### Timers, Assertions, Config, Pre- & Post-Processors

- [Bug 64638](https://bz.apache.org/bugzilla/show_bug.cgi?id=64638)JSON JMESPath Assertion / JSON Assertion: Opening GUI shows a horizontal scrollbar that keeps sliding
- [Bug 64915](https://bz.apache.org/bugzilla/show_bug.cgi?id=64915)JMeter Cache Manager misbehaving when “Use Cache-Control/Expires header” is checked

#### Functions

#### I18N

#### Report / Dashboard

- [Bug 64547](https://bz.apache.org/bugzilla/show_bug.cgi?id=64547)Report/Dashboard: Ensure graphs Response codes per second is not broken by empty response code in SampleResult. Contributed by Ubik Load Pack ([https://ubikloadpack.com](https://ubikloadpack.com))
- [Bug 64617](https://bz.apache.org/bugzilla/show_bug.cgi?id=64617)HTML report: In graph Response Time Percentiles Over Time 90,95,99th percentile correspond in reality to 0.90, 0.95 and 0.99 percentiles
- [Bug 64553](https://bz.apache.org/bugzilla/show_bug.cgi?id=64553)When using Transaction Controller, send Bytes and Received Bytes are displayed as 0 in the influxdb(BackendListener)
- [Bug 64624](https://bz.apache.org/bugzilla/show_bug.cgi?id=64624)Use less aggressive escaping for JSON Strings in reports error messages

#### Documentation

- [PR#571](https://github.com/apache/jmeter/pull/571)Correct documented name of generated CA when using proxy script recorder. Part of a bigger PR. Vincent Daburon (vdaburon at gmail.com)
- Change documentation of the special header functionality of the mirror server to reflect the implementation.

#### General

- [Bug 64448](https://bz.apache.org/bugzilla/show_bug.cgi?id=64448)User Defined Variable Duplication in Right Click Context Menu
- [Bug 64499](https://bz.apache.org/bugzilla/show_bug.cgi?id=64499)Exiting JMeter when `jmeterengine.stopfail.system.exit=true` takes too much time if threads are not stopped
- [Bug 64510](https://bz.apache.org/bugzilla/show_bug.cgi?id=64510)Darklaf- IntelliJ Theme throws NPE in DarkTreeUI on MacOS
- [Bug 64594](https://bz.apache.org/bugzilla/show_bug.cgi?id=64594)Unable to enter variable values instead of numeric values in components using PowerTableModel (Impacts 3rd party plugins like Throughput Shaping Timer)
- [Bug 64475](https://bz.apache.org/bugzilla/show_bug.cgi?id=64475)Menu Generate HTML Report: When report generation fails due to timeout, error message is not explicit. Contributed by Ubik Load Pack ([https://ubikloadpack.com](https://ubikloadpack.com))
- [Bug 64627](https://bz.apache.org/bugzilla/show_bug.cgi?id=64627)Programmatic manipulation of the control flow via API methods of JMeterContext is not working as it used to before 5.0. Contributed by Till Neunast
- [Bug 64647](https://bz.apache.org/bugzilla/show_bug.cgi?id=64647)groovy-dateutil is missing in distribution
- [Bug 64640](https://bz.apache.org/bugzilla/show_bug.cgi?id=64640)Darklaf: NPE at com.github.weisj.darklaf.ui.DarkPopupFactory.getPopupType(DarkPopupFactory.java:96)
- [Bug 64641](https://bz.apache.org/bugzilla/show_bug.cgi?id=64641)Darklaf: NPE at com.github.weisj.darklaf.ui.tree.DarkTreeUI.isChildOfSelectionPath(DarkTreeUI.java:603) ~[darklaf-core-2.4.2-SNAPSHOT.jar:2.4.2-SNAPSHOT]
- [Bug 64453](https://bz.apache.org/bugzilla/show_bug.cgi?id=64453)Darklaf: Save Test Plan as New Folder failure
- [Bug 64625](https://bz.apache.org/bugzilla/show_bug.cgi?id=64625)Darklaf: trying to select a folder in Browse leads to an error popup and stacktrace
- [Bug 64711](https://bz.apache.org/bugzilla/show_bug.cgi?id=64711)Textarea Colors are not good in dark modes. Contributed by Jannis Weis
- [Bug 64935](https://bz.apache.org/bugzilla/show_bug.cgi?id=64935)A broken plugin class should not prevent JMeter from starting

## Non-functional changes

- Build system upgraded from Gradle to 6.7 (from 6.6)
- [PR#594](https://github.com/apache/jmeter/pull/594)Updated neo4j-java-driver to 4.2.0 (from 1.7.5)
- [Bug 64454](https://bz.apache.org/bugzilla/show_bug.cgi?id=64454)More precise error message, when no datasource value can be found in JDBC sampler
- [Bug 64440](https://bz.apache.org/bugzilla/show_bug.cgi?id=64440)Log exeptions reported via `JMeterUtils#reportToUser` even when in GUI mode
- [PR#591](https://github.com/apache/jmeter/pull/591)Remove deprecated sudo flag from travis file. Deng Liming (liming.d.pro at gmail.com)
- Updated Darklaf to 2.4.10 (from 2.1.1)
- Updated Groovy to 3.0.5 (from 3.0.3)
- [PR#596](https://github.com/apache/jmeter/pull/596)Use neutral words in documentation
- [Bug 63809](https://bz.apache.org/bugzilla/show_bug.cgi?id=63809)[PR#557](https://github.com/apache/jmeter/pull/557)Updated commons-collections to 4.4 (from 3.2.2) while keeping the jars for the old commons-collections 3.x for compatibility
- [PR#598](https://github.com/apache/jmeter/pull/598)Add another option for creating diffs to the building page. Contributed by jmetertea (github.com/jmetertea)
- [PR#609](https://github.com/apache/jmeter/pull/609)Make use of newer API for darklaf installation. Jannis Weis
- [PR#612](https://github.com/apache/jmeter/pull/612)Correct typos in `README.md`. Based on patches by Pooja Chandak (poojachandak002 at gmail.com)
- [PR#613](https://github.com/apache/jmeter/pull/613)Add documentation for Darklaf properties. Jannis Weis
- Update SpotBugs to 4.1.2 (from 4.1.1), upgrade spotbugs-gradle-plugin to 4.5.0 (from 2.0.0)
- Update org.sonarqube Gradle plugin to 3.0 (from 2.7.1)
- Update Apache ActiveMQ to 5.16.0 (from 5.15.11)
- Update Bouncycastle to 1.66 (from 1.64)
- Update Apache commons-io to 2.7 (from 2.6)
- Update Apache commons-lang3 to 3.11 (from 3.10)
- Update Apache commons-net to 3.7 (from 3.6)
- Update Apache commons-pool2 to 2.9.0 (from 2.8.0)
- Update Apache commons-text to 1.9 (from 1.8)
- Update equalsverifier to 3.4.2 (from 3.1.13)
- Update junit5 to 5.6.2 (from 5.6.0)
- Update Apache log4j2 to 2.13.3 (from 2.13.1)
- Update rsyntaxtextarea to 3.1.1 (from 3.1.0)
- Update JUnit5 to 5.7.0 (from 5.6.2)
- Update Rhino to 1.7.13 (from 1.7.12)
- Update XStream to 1.4.14 (from 1.4.14.1)
- Update Apache commons-dbcp2 to 2.8.0 (from 2.7.0)
- [PR#635](https://github.com/apache/jmeter/pull/635)Correct some image ratios in the documentation. Patch provided       by Vincent Daburon (vdaburon at gmail.com)

## Thanks

We thank all contributors mentioned in bug and improvement sections above:

- Michael Weidmann ([https://github.com/michaelweidmann](https://github.com/michaelweidmann))
- Deng Liming (liming.d.pro at gmail.com)
- jmetertea ([https://github.com/jmetertea](https://github.com/jmetertea))
- [Ubik Load Pack](https://ubikloadpack.com)
- [Jannis Weis](https://github.com/weisJ/darklaf)
- [Daniel van den Ouden](https://github.com/topicus-pw-dvdouden)
- Till Neunast ([https://github.com/tilln](https://github.com/tilln))
- Pooja Chandak (poojachandak002 at gmail.com)
- Vincent Daburon (vdaburon at gmail.com)
- Woonsan Ko (woonsan at apache.org)
- Timo (ASF.Software.Timo at Leefers.eu)
- Graham Russell (graham at ham1.co.uk)

We also thank bug reporters who helped us improve JMeter.

- Hiroyoshi Mitsumori (mitsumori at mis.dev)

Apologies if we have omitted anyone else.

## Useful links

- [Download JMeter](/reference/download-jmeter/)
- [Getting started guide](/getting-started/get-started/)
- [All release notes](/releases/)
- [Current changes page](/user-manual/changes/)
- [History of previous changes](/user-manual/changes-history/)
