Skip to content

Time for Time

Compare
Choose a tag to compare
@istathar istathar released this 08 Jun 13:06
· 263 commits to main since this release

Introduce Time timestamp type

We have a common and pervasive requirement for timestamps. We have been sourcing this simple type from another package but have now relocated this code here to core-data and added a new compatibility typeclass Instant similar to the Textual, Binary etc in this family of libraries.

Improve exception handling

Re-exporting the usual exception handling functions was working care of the MonadCatch, MonadThrow, and MonadMask instances for the Program τ monad but was proving awkward for developers new to Haskell. Since the pattern we promote is to run pure code in Either err and then when reaching the I/O layer to continue or throw, users of this library are now offered catch, throw, etc. specialized to the Program τ monad.

  • Specialize exception handling functions to Program monad by @istathar in #132

As the original re-exports have been removed from Core.System this change has resulted in a major API bump to 0.5.0

Enhance telemetry capabilities and performance.

Significant Telemetry improvements, notably adding compression and chunking so we don't overwhelm the peer observability platform when sending to them. Add support for the traceparent: header so that traces can continue when requests cross service boundaries.

Improvements to telemetry being sent by webserver layer:

Other Changes

Full Changelog: core-program-0.4.5.3...core-program-0.5.0.2