Skip to content

Releases: aesiniath/unbeliever

Fix threading cancellation

05 Apr 09:52
Compare
Choose a tag to compare

When racing threads that had in turn forked a number of worker threads we encountered the situation where the worker threads were being left running if the parent was cancelled. At first we were actually worried that the HTTP client library was not responding to an exception telling it to stop but it turned out that the problem was that while wait was being cancelled, the thread it was waiting on was not.

This release changes that behaviour so that our waitThread and related helper functions will propagate a cancel do the thread being waited on should they themselves be cancelled.

Many thanks to @carlosdagos for his help identifying the root cause and testing the fix.

What's Changed

  • Fix behaviour of leaking child threads when nesting by @istathar in #106

Full Changelog: core-program-0.4.2.0...core-program-0.4.5.0

Support for WAI and Servant applications

14 Jan 00:43
Compare
Choose a tag to compare

Support for running web applications from within the Program monad from core-program.

What's Changed

  • Access source location metadata without requiring TemplateHaskell by @istathar in #85

New package core-webserver-warp

This package in particular adds wrappers around the wai (Web Application Interface) and warp (Web Server) to facilitate integrating this commonly used combination.

New package core-webserver-servant

his package in particular adds wrappers around the servant library commonly used for exposing web services APIs and allows your handlers to be written in the Program monad.

  • Support servant in new package core-webserver-servant by @carlosdagos in #91

Hygiene

Full Changelog: v0.10.0.0...core-webserver-warp-0.1.1.0

Concurrency, Exception handling, and querying command-line options

03 Dec 10:12
Compare
Choose a tag to compare

Move concurrency related code to new module Core.Program.Threads.

This triggered a major API bump of core-program but if you are only importing the parent module as recommended

import Core.Program

You won't notice the difference.

What's Changed

Concurrency

  • Separate thread functions into new module by @istathar in #79
  • Don't link threads by default when forking by @istathar in #84

Command-line argument handling

Continued progress with the Program monad

Improvements to exception handling

Other

New Contributors

New telemetry library

03 Dec 10:07
Compare
Choose a tag to compare

New package core-telemetry added to the Unbeliever collection, adding traces, spans, and event metadata to the Program monad along with facilities for structured logging and sending telemetry to the Honeycomb observability service.

What's Changed

  • Major feature branch 'telemetry' by @istathar in #60
  • Reuse Connection in Honeycomb exporter by @istathar in #73
  • Generate unique identifiers for traces and spans by @istathar in #75

Upgraded ANSI colour support

03 Nov 10:43
core-text-0.3.0.0
Compare
Choose a tag to compare

Drop dependency on prettyprinter-ansi-terminal, using codes from ansi-terminal directly in a change to the Render typeclass. intoDocA is replaced with the name highlight and the colourize method now converts Token α -> ΑnsiColour.