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.
The library offers compatibility contracts on the Java API and the POM.
The API consists of all public Kotlin types from com.atlassian.performance.tools.jvmtasks.api
and its subpackages:
- source compatibility
- binary compatibility
- behavioral compatibility with behavioral contracts expressed via Javadoc
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.
1.4.0 - 2023-12-22
- Add
EventBus
for pub-sub loose coupling between layers. E.g. for GUI live-reacting to events from deep layers. - Add
TaskScope
to scope out JVM subtasks and publish task events.
- Deprecate
TaskTimer
in favor ofTaskScope
. The scope is more generic. It doesn't log task time, but it publishes events. Event subs can measure the task time and do more powerful things than just logging.
- Use
TaskScope
withinTaskTimer
.
1.3.0 - 2023-07-26
This change in POM was already done in 1.2.4. This release upgrades the change into a contract.
E.g. you can depend on [1.3.0, 2.0.0)
and know that log4j-core
will not come back and cause a conflict.
- Drop major versions of
log4j-core
andlog4j-slf4j-impl
. Fix JPERF-570. - Add
TaskTimer.TaskStartedHandler
,TaskTimer.TaskSucceededHandler
andTaskTimer.TaskFailedHandler
interfaces. Unblock JPERF-1196. - Add functions for subscribing and unsubscribing task handlers in
TaskTimer
. Unblock JPERF-1196.
- Relax
log4j-api
dependency to a SemVer range.
1.2.4 - 2023-03-21
- Drop
log4j-core
andlog4j-slf4j-impl
from POM. Fix JPERF-570. - Demote
log4j-api
fromcompile
toruntime
scope in POM. Fix JPERF-570.
1.2.3 - 2022-06-29
Empty release to test changes in release process.
1.2.2 - 2022-01-14
- Bump log4j to
2.17.1
. Address JPERF-767.
1.2.1 - 2020-11-12
- Stop sleeping after last failed attempt in
IdempotentAction
. Fix JPERF-620.
1.2.0 - 2020-11-04
- Parametrize
JitterBackoff
with aRandom
for predictability (seeding).
- Fix jitter back-offs returning negative time. Fix JPERF-683.
1.1.0 - 2020-08-25
- Add static, jitter and sum back-offs.
1.0.1 - 2019-04-23
- Log last exception from
IdempotentAction
. Fix JPERF-461. - Switch to a non-deprecated Kotin stdlib. Unblock JPERF-466.
1.0.0 - 2018-08-29
- Define public API.
- License.
- Add this change log.
0.0.1 - 2018-07-27
- Migrate JVM task management from JPT submodule.
- Add README.md.
- Configure Bitbucket Pipelines.