- Support for scalajs 1.0.0 and swapping out log4s with scalajs-logging
- Support for scala 2.13 and updated libraries (notably using scalatest for property testing, and rev cats/cats-effect from 1.x to 2.x). Note that we can now move (most) tests into shared and use AsyncFreeSpec, with the exception of that which we inherit from cats-effect, which is still using scalacheck. This will be done in a subsequent point release as its an implementation detail which does not affect the library API. This version requires and depends on cedi-build 1.2.0. 2.0.2 =====
- Fix Stack Overflow for parTraverse. Issue #79. 2.0.1 =====
- Fix issue where TraceSystem timer type gets misconfigured in
F ~> G
. Results in nonsensical Span times when usingParallel
typeclasses. Issue #75. 2.0.0 ===== - Added the ability to set a
sampled
indicator in theTraceContext[F]
and to encode/decode the sampled indicator to/from XB3 headers. Ifsampled
is set tofalse
in theTraceContext
, the actual emission ofSpan
s for that trace are skipped. - Added an Elastic Common Search (ECS) compliant emitter within the logstash
module which encodes the spans in a manner consistent with the ECS
specification (1.0.0-beta2 revision). The top-level
metadata
map in theTraceSystem
has been replaced with adata
structure, which separates out identity and metadata components of system-wide common data so that thelogstash
module'sEcsLogstashLogbackEmitter
can encode identity fields directly rather than combining them all into a metadata group. This isn't specific to ECS but allows for more re-use of common ECS fields at the top-level. - The
core
,logging
,xb3
, andmoney
modules are now built for both the JVM and JavaScript environments. Thelogging
module usesio.chrisdavenport.log4cats
to abstract over JVM and JavaScript-specific logging frameworks, with the JVM environment continuing to useorg.slf4j
overch.qos.logback
while the JavaScript environment usesorg.log4s.log4s
. - Updated typeclasses to use cats-effect 1.0, which includes a number
of changes, including the
Bracket
typeclass for handling finalization and resource cleanup. This typeclass and theTraceT.bracket
andTraceT.bracketCase
convenience methods take the place of thecedi-dtrace
1.xbestEffortOnFinish
function. Also addedContextShift
typeclass to handle shifting to a new thread pool withshift
and to temporarily evaluate an effect on a thread pool and then shift back to the current one viaevalOn
(the use case for the latter is primarily to evalute a blocking effect on a dedicated thread pool to avoid possible deadlocks). - Removed requirement for a
TraceContext[F]
in implicit scope forConcurrent
typeclass. - Fixed stack safety issues with TraceT instances. Previously, it was possible
to get stack overflow exceptions with deeply nested
flatMap
,map
andattempt
invocations. - Added law testing of typeclass instances. 1.4.0 =====
- Guard marker creation if debug is disabled in LogstashLogbackEmitter. 1.3.0 =====
- Implement
ConcurrentEffect
andTimer
typeclass - Fixed issue with
Effect
typeclassrunAsync
function implementation causing loss of trace context. - Added money, xb3, and http4s modules, with support for Money,
- and X-B3 headers and generation and extraction of trace information to/from
- headers for the http4s library.
- Upgraded to Circe 0.7.0
- Initial revision