Skip to content

Releases: tomtom-international/kotlin-tools

1.8.6

30 Apr 10:10
b2d15a0
Compare
Choose a tag to compare

Updated dependencies

1.8.3

11 Jul 12:10
d33416c
Compare
Choose a tag to compare

Processing speed improvements:

  • Introduce caching of trace event method annotations in the Tracer.invoke() function.
  • Skip creation of a TraceEvent object if there are no event consumers. This saves us from performing an expensive
    LocalDateTime.now() call.
  • Skip retrieval of trace event method annotations for simple log function invocations, if there are no event consumers.
  • Remove string concatenations in createLogMessage() functions. Only use StringBuilder functions.
  • Change toStringRegistry to use item::javaClass.name as key, and use item::class.toString() only as fallback.
  • Skip reading item.javaClass.getMethod("toString").declaringClass in convertToStringUsingRegistry(): the
    item.toString() function of Any will anyway print the name of the class.
  • Fix execution of unit tests requiring mockk-jvm (extensions and traceevents modules): no unit test for these
    modules was being run anymore, after the 1.8.2 update.
  • Fix the IfExtensionsTest unit tests: these tests were broken by mockk 1.13.4 (due to
    mockk/mockk#1033).

1.8.2

16 Mar 08:05
a332a59
Compare
Choose a tag to compare

Updated dependencies.

1.8.0

30 Aug 07:22
958fd72
Compare
Choose a tag to compare
  • Added Tracer.hasQueuedTraceEvents: Boolean to support testing that certain trace events were not sent.

1.7.1

29 Aug 15:36
5be0cfd
Compare
Choose a tag to compare
  • Remove use of reflection on the critical path of creating a Tracer object by removing the use of KClass<*>.isCompanion. Remove the $Companion suffix from the tagging class instead.
  • Initialize Tracer library faster by removing the use of reflection to obtain Tracer library class names.
  • Replace the use of LocalDateTime with Instant to measure elapsed time. This omits loading timezone data during initialization of the Tracer library.
  • Improve documentation of TracerEvent.parameterNamesProvider.
  • Reduce use of reflection on the critical path of trace events by not obtaining the trace event parameter names on the thread that traces the event. Only obtain the trace event parameter names when requested by a trace event consumer.
  • Updated dependencies.

1.6.3

23 Feb 08:35
6f4436c
Compare
Choose a tag to compare

Added Kotlin Contracts to ifTrue and ifNull.

1.6.2

22 Feb 13:43
89c5c50
Compare
Choose a tag to compare

Removed cast extensions.

1.6.1

18 Feb 12:45
c73d9fe
Compare
Choose a tag to compare
  • Enables explicit API, requiring stricter type and visibility definitions of our public APIs.

  • Added extensions module, providing general-purpose extension functions that can make your code more concise and
    readable.

1.5.1

28 Sep 10:24
4b8fe93
Compare
Choose a tag to compare

Added getNamedParametersMap to TraceEvent, which allows generic trace event consumers to access parameters and their values through a map that maps parameters names to their values. The other way to access parameter values is by using args, which is an array with parameter values, in the order of the method declaration.

1.4.1

23 Sep 16:07
c5a4f84
Compare
Choose a tag to compare
  • Updated POM dependencies.

  • Replaced deprecated Channel methods offer and poll with current method variants trySend and tryReceive.

  • Replaced some internal properties with private to be stricter on visibility.

  • Removed redundant suspend modifiers from methods.