Skip to content

Latest commit

 

History

History
808 lines (554 loc) · 28.3 KB

CHANGELOG.md

File metadata and controls

808 lines (554 loc) · 28.3 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Compatibility

The library offers compatibility contracts on the Java API and the POM.

Java API

The API covers all public Java types from com.atlassian.performance.tools.infrastructure.api and its subpackages:

POM

Changing the license is breaking a contract. Adding a requirement of a major version of a dependency is breaking a contract. Dropping a requirement of a major version of a dependency is a new contract.

[4.29.3] - 2024-06-19

Fixed

  • Install fonts required by AdoptOpenJDK, AdoptOpenJDK11, OracleJDK, VersionedOracleJdk. Aid DCPERF-432.

[4.29.2] - 2024-06-18

Fixed

  • Fix remote JVM debugger setup for Jira. Aid DCPERF-432.

4.29.1 - 2024-06-17

Fixed

  • Fix JAVA_HOME in OpenJDK and OpenJDK11.

4.29.0 - 2024-06-04

Added

  • Add VersionedOracleJdk to support Oracle JDK 11+.

4.28.3 - 2024-02-08

Fixed

  • Start collecting metrics of SshVirtualUsers node. Aid with JPERF-1457.
  • Work around docker 25.0.0 breaking usage of 'ulimits' command.

4.28.2 - 2023-12-15

Fixed

  • Bump Virtual Users JDK to 11. Old Java 8 VU JARs should still work.

4.28.1 - 2023-12-06

Fixed

  • Bump async-profiler to v2.10.
  • Provide a default interval for async-profiler. Workaround for IDEA-320011. Help fix JPERF-1409.

4.28.0 - 2023-10-11

Added

  • Add AsyncProfiler.Builder options:
    • output to aid in investigation of JPERF-1390
    • jfr and flamegraph for convenience
    • startParams and stopParams for extensibility

Deprecated

  • Deprecate AsyncProfiler.Builder.extraParams in favor of startParams due to ambiguity with stopParams.

4.27.0 - 2023-10-09

Added

  • Add AsyncProfiler.Builder to expose more options.
  • Add Ubuntu.addRemoteKey.

Deprecated

  • Deprecate AsyncProfiler.<init> and WallClockProfiler in favor of AsyncProfiler.Builder.

Fixed

  • Fix AsyncProfiler flamegraph file extension from .svg to .html.
  • Bump WallClockProfiler to async-profiler v2.9.

4.26.1 - 2023-07-20

Fixed

  • Adapt to new ChromeDriver release process. Fix JPERF-1217.

4.26.0 - 2023-06-21

Added

4.25.0 - 2023-05-26

Added

  • Add ResetCaptcha.Builder.

4.24.3 - 2023-05-26

Accidentally released a patch version instead of a minor version. Use 4.25.0 to get the new API reliably.

4.24.2 - 2023-05-24

Fixed

  • Wait until Docker is started before pulling images. Fix JPERF-1104.
  • Extend AsyncProfiler stop timeout. Fix JPERF-1081.

4.24.1 - 2023-05-10

Fixed

  • Stop forcing JSON Jira logs. Using JiraNodeConfig.Builder.splunkForwarder should no longer mess with Jira logs, when DisabledSplunkForwarder (the default) is used.
  • Respect the splunkForwarder delegate in Log4j2SplunkForwarder, without assuming its implementation.
  • Export JAVA_HOME during OracleJDK installation.
  • Export JAVA_HOME to .profile instead of .bashrc. Fix JPERF-1090.

4.24.0 - 2023-03-01

Added

  • Allow minimal Jira setup using new MinimalMysqlDatabase and MinimalMysqlJiraHome APIs.

4.23.0 - 2023-02-27

Added

  • Expose DockerContainer.

4.22.5 - 2023-02-22

Fixed

  • Fix fresh dataset compatibility by adding MySQL arguments from Jira documentation. Unblock JPERF-996.

4.22.4 - 2023-02-15

Fixed

  • Bump AsyncProfiler to v2.9.
  • Retry starting the AsyncProfiler. Fix JPERF-969 flakiness.
  • Prefer IPv4 in HttpResource. It fixes running tests on Github CI. Fix JPERF-969.

4.22.3 - 2023-02-07

Fixed

  • Fix Ubuntu concurrent usage which previously occasionally failed with apt-get locks. Fix JPERF-971.
  • Lock Ubuntu apt access per IP and port of the host. Allow fine-granularity of locks when working with Docker.

4.22.2 - 2023-01-23

Fixed

  • Update curl command used for downloading Oracle JDK. Unblocks JPERF-917.

4.22.1 - 2022-12-07

4.22.0

The 4.22.0 release was accidentally skipped. The new APIs and fixes are available in 4.22.1.

Added

  • Extract TarGzDistribution for reuse with other tar.gz sources.

Fixed

  • Point to the proper installation directory for ProductDistribution Release Candidates. Fix JPERF-896.
  • Silence SSH logs when failing to extract a non-existent tar.gz.

4.21.0 - 2022-11-08

Added

  • Support multiple Ubuntu versions at once: 16.04, 18.04, 20.04 and 22.04. Cover MySqlDatabase, UniversalSplunkForwarder and AtlassianSplunkForwarder. Fix JPERF-449.

4.20.0 - 2022-10-19

Added

  • Support log4j2 via Log4j2SplunkForwarder. Resolve JPERF-838.
  • Use Log4j2SplunkForwarder by default in JiraNodeConfig.Builder.

4.19.3 - 2022-06-23

Empty release to test changes in release process.

4.19.2 - 2022-04-07

Fixed

4.19.1 - 2022-04-04

Security

  • Remove jira-soke-tests-eu AWS S3 bucket reference JPERF-750

4.19.0 - 2022-01-17

Added

  • JiraUserPasswordOverridingDatabase to support providing custom admin password during database setup JPERF-729

Deprecated

  • Database.setup(ssh: SshConnection): String in favor of Database.performSetup(ssh: SshConnection): DatabaseSetup

4.18.0 - 2021-04-14

Added

  • Point to remote files on SSH hosts via RemotePath.

Fixed

  • Increase network-level retries for Jira/browser downloads. Decrease flakiness of such downloads on Ubuntu on WSL2.
  • Download ChromeDriver version that matches installed Chrome version. Fix JPERF-732.

4.17.5 - 2020-12-15

Fixed

  • Increase timeout for logstash Docker image installation.

4.17.4 - 2020-12-14

Fixed

  • Bump version of the docker to 5:19.03.13. Fix JPERF-664.

4.17.3 - 2020-11-25

Fixed

  • Bump MySQL version to 5.7.32. Address JPERF-671.

4.17.2 - 2020-11-05

Fixed

  • Reduce max Ubuntu.install backoff from 1270 seconds to 105 seconds. Fix JPERF-619.
  • Change Ubuntu.install backoff from exponential to static + jitter.

4.17.1 - 2020-08-27

This is just a technical, test release that contains CI-related changes only.

4.17.0 - 2020-06-03

Fixed

  • Fix Ubuntu codename detection.

Added

  • Add Ubuntu.getDistributionCodename.

4.16.1 - 2020-06-03

This is an erroneous release. Don't use new APIs from this version, switch to 4.17.0 instead.

4.16.0 - 2020-06-02

Fixed

  • Eliminate spurious apt warnings. Fix JPERF-642.

Added

  • Add a new recommended method to add new repositories to Ubuntu: com.atlassian.performance.tools.infrastructure.api.os.Ubuntu.addRepository(com.atlassian.performance.tools.ssh.api.SshConnection, java.lang.String, java.lang.String).

4.15.1 - 2020-05-13

Fixed

  • Fix compatibility with Ubuntu Eoan (JPERF-625).
  • Upgrade Docker to 19.03, which works with Ubuntu 16-19.
  • Fix dataset location generation.

4.15.0 - 2020-03-03

Added

  • Added parametrized CustomChromium.

4.14.5 - 2020-03-03

Fixed

  • Use non-deprecated Kotlin stdlib. Fix JPERF-466.

4.14.4 - 2019-12-09

Fixed

  • Harden apt-get retry cleanup when the process is gone. Help fix JPERF-219.
  • Clean up corrupt dpkg state. Help fix JPERF-219.
  • Have more patience for OpenJDK.install.

4.14.3 - 2019-11-27

Fixed

  • Quote VU CLI args. Fix JPERF-569.
  • Clean up after apt-get install flakes. Help fix JPERF-219.
  • Harden dataset HTTP downloads.
  • Harden apt-get downloads.
  • Detect VU -> Jira connectivity early.

4.14.2 - 2019-08-23

Fixed

  • Increase timeout of apt-get. Fix JPERF-552.

Added

  • Add support for wall-clock profiler. Resolve JPERF-531.

4.14.1 - 2019-07-24

Fixed

  • Respect the overhead declared by virtual users. Fix JPERF-530.

4.14.0 - 2019-07-17

Deprecated

  • Deprecate the handling of licenses as strings within LicenseOverridingMysql. Avoid JPERF-523.

Fixed

  • Handle Jira license data as files within LicenseOverridingMysql. Fix JPERF-523.

4.13.0 - 2019-07-05

Added

  • Facilitate Jira license overrides via LicenseOverridingMysql and Dataset.Builder. Unblock JPERF-519.

4.12.6 - 2019-06-26

Fixed

  • Fix dataset unzipping permissions problem. Fix JPERF-504.

4.12.5 - 2019-06-25

Fixed

  • Fix dataset unzipping performance. Fix JPERF-504.

4.12.4 - 2019-06-25

Fixed

  • Fix race condition when downloading HTTP package. Fix JPERF-496.

4.12.3 - 2019-05-09

Fixed

  • Parallelize Ubuntu installs across SSH connections. Fix JPERF-478.

4.12.2 - 2019-04-23

Fixed

  • Make Ubuntu thread safe. Resolves JPERF-468.

4.12.1 - 2019-04-19

Fixed

  • Increase AdoptOpenJDK11 download timeout. Fix JPERF-465
  • Have more patience for lftp installation. Fix JPERF-460.
  • Fix Docker install failures. Fix JPERF-446.
  • Quiet down the multicast VU log context. Resolve JPERF-453.

4.12.0 - 2019-03-22

Added

  • Respect VirtualUserLoad.maxOverallLoad when spreading load across MulticastVirtualUsers. Fix JPERF-429.

Fixed

  • Rely on virtual-users to slice the load. Transparently support any future sliceable VU load features.

4.11.0 - 2019-03-12

Added

  • Set GC params based on Java version. Resolve JPERF-408.

4.10.0 - 2019-03-07

Added

  • Add HttpDatasetPackage constructor which enables performance improvements (JPERF-412, JPERF-413).

Deprecated

  • Deprecate HttpDatasetPackage three-parameter constructor in favor of two-parameter constructor.

Fixed

  • Download HTTP resources in parallel instead of on a single thread. Resolve JPERF-412.
  • Unzip tar.bz2 archive files in parallel. Resolve JPERF-413.

4.9.0 - 2019-02-28

Added

  • A way to gather thread dumps over ssh. Resolve JPERF-405.

Fixed

  • Download HTTP resources in parallel instead of on a single thread. Resolve JPERF-412.

4.8.0 - 2019-02-22

Added

  • Support for Jira Service Desk installer. Unlocks JPERF-277.

Deprecated

  • Deprecate ProductDistribution in favor of ProductDistribution in distribution package.
  • Deprecate PublicJiraSoftwareDistributions in favor of PublicJiraSoftwareDistribution.

4.7.0 - 2019-01-29

Added

4.6.1 - 2019-01-28

Fixed

  • Bump Oracle JDK download timeout. Fix JPERF-374.

4.6.0 - 2019-01-18

Fixed

  • Bump MySQL to 5.6.42. Resolve JPERF-345.
  • Set up VUs only once per node in MulticastVirtualUsers. Fix JPERF-346.
  • Chromedriver continues to work after a page load timeout. Fix JPERF-249.

Added

  • Separate Chromium implementations, like Chromium69 or Chromium70. Resolve JPERF-350.
  • Install Chromium with a compatible chromedriver. Resolve JPERF-352.
  • Add a way to specify how to download an archive.
  • Add a way to download a public Jira Software tar.gz distribution. Resolve JPERF-277.

Deprecated

  • Deprecate Chromium in favor of specific implementations like Chromium69 or Chromium70.

4.5.1 - 2019-01-04

Fixed

  • Use latest chromedriver for Chrome Browser. Resolve JPERF-331.

4.5.0 - 2018-12-20

Added

  • Expose SPI for profiler. Resolve JPERF-318.
  • Add profiler implementation (AsyncProfiler).

Deprecated

  • startMonitoring method in Jstat.
  • startMonitoring method in OsMetric.
  • MonitoringProcess class.

Fixed

  • Increase Chrome download timeout.

4.4.0 - 2018-12-19

Added

  • Expose API for choosing JDK Jira will run on. Resolve JPERF-305.

4.3.0 - 2018-12-18

Added

  • Jstat support for every JavaDevelopmentKit.
  • Support for provisioning Jira on AdoptOpenJDK. Resolve JPERF-305.

4.2.0 - 2018-12-04

Added

  • Support providing collectd configurations via collectdConfigs in JiraNodeConfig. Unblock JPERF-285.

4.1.0 - 2018-12-04

Added

  • Add builder for JiraNodeConfig which is part of JPERF-282.
  • Add builder for JiraLaunchTimeouts which is part of JPERF-282.

4.0.0 - 2018-11-28

Removed

  • Drop support of virtual-users:1.
  • Drop support of virtual-users:2.

Fixed

  • Cease to rewrite VirtualUserOptions parameters, allowing infrastructure to forward new parameters without releasing new rewrite code every time virtual-users releases a new parameter. Resolve JPERF-252.

3.1.0 - 2018-11-26

Added

  • Add support for jira-actions:3
  • Add support for virtual-users:3

3.0.0 - 2018-11-20

Added

  • Customisable status timeout for Jira upgrades endpoint which is required for JPERF-271.
  • Support ssh:2

Fixed

  • Increase pull timeout for MySQL docker image. Fix JPERF-265.
  • Increase Docker install timeout. Fix JPERF-264.

Removed

  • Drop support of ssh:1
  • Remove Kotlin data-class generated methods from API.
  • Remove all deprecated API.

2.4.1 - 2018-11-02

Fixed

  • Fix chromium installation flakes. Fix JPERF-250.
  • Avoid VirtualUserOptions.copy. Avoid JPERF-253.

2.4.0 - 2018-10-31

Added

  • Customisable timeouts for Jira launch which is required for JPERF-216.

2.3.1 - 2018-10-30

Fixed

2.3.0 - 2018-10-26

Added

2.2.0 - 2018-09-21

Added

  • Add the CPU_UTILISATION dimension.
  • Parametrize the log path for Splunk forwarding.
  • Parametrize the Atlassian Splunk forwarder log fields.
  • Parametrize the Atlassian Splunk forwarder Kinesis ARN.

2.1.1 - 2018-09-11

Fixed

  • Respect customer's log configuration. Fix JPERF-11.

2.1.0 - 2018-09-06

Added

  • Add virtual-users:2 compatibility.

2.0.0 - 2018-09-04

Changed

  • Require APT io:1.
  • Require APT concurrency:1.
  • Require APT jvm-tasks:1.
  • Require APT ssh:1.
  • Require APT jira-actions:2.
  • Require APT virtual-users:1
  • Remove LoadProfile in favour of new virtual-users API

Added

  • Include the POM in the compatibility contract.
  • License via POM.
  • Gain freedom from APT io:0.
  • Gain freedom from APT concurrency:0.
  • Gain freedom from APT jvm-tasks:0.
  • Gain freedom from APT ssh:0.
  • Gain freedom from APT jira-actions:0.
  • Added means to run load test locally.

1.1.2 - 2018-08-30

Fixed

  • Restore MyslqDatabase binary compatibility with 1.0.0.

1.1.1 - 2018-08-29

Fixed

  • Restore VirtualUsers binary compatibility with 1.0.0.

1.1.0 - 2018-08-28

INCOMPATIBILITY BUG

Break binary compatibility for com.atlassian.performance.tools.infrastructure.api.virtualusers.VirtualUsers. Switch to 1.1.1 to restore this compatibility. See JPERF-39 for details.

INCOMPATIBILITY BUG

Break binary compatibility for com.atlassian.performance.tools.infrastructure.api.database.MysqlDatabase. Switch to 1.1.2 to restore this compatibility. See JPERF-40 for details.

Added

  • Add diagnosticsLimit parameter to limit how many times diagnostics can be executed.
  • Add maxConnections parameter to override MySQL max_connections value.
  • Explain contribution guidelines.

1.0.0 - 2018-08-24

Changed

  • Define the public API.

0.2.0 - 2018-08-24

Added

  • Grant access to MavenApp fields.

0.1.0 - 2018-08-21

Added

  • License.
  • Use the latest Marketplace version of an app.
  • Add CHANGELOG.md.
  • Run Jira without any apps installed.

0.0.2 - 2018-08-03

Fixed

  • Specify module name.

0.0.1 - 2018-08-03

Added