Release 0.5.0
This release contains 2 big updates:
-
Bump of different libraries to follow Typelevel version cycle:
catsCore = "1.5.0"
circe = "0.10.1"
doobie = "0.6.0"
lolhttp = "0.12.0"
That demanded some code modifiactions and the most important are:- doobie Transactor is now a cats Resource and doesn't have a shutdown method, instead we use Resource.allocated and obtain an IO to release the Hikari Pool
- doobie now needs a dedicated thread pool and dedicated ContextShift
- now we log each Doobie query for debug purposes
- xmap of circe is deprecated => we should use imap
- fs2.Scheduler is replaced by cats.effect.IO.timer and now needs and implicit cats.effect.Timer in the scope
- cats-mtl was removed as FunctorFilter was moved to cats-core
- couple of logs were added
-
We added a Cron scheduler that lives in a separate
cron
module.- short specification:
- Compute next CRON event for this job (based on the CRON expression parsed by https://github.com/alonsodomin/cron4s)
- Wait for the CRON event to occur
- Create a CronContext and run the job side-effect
- Wait on the side-effect Future result
- REST API are available on https://documenter.getpostman.com/view/3548308/RznCs12X
- it has some minimalistic server side rendering UI
- for an example check examples/src/main/scala/com/criteo/cuttle/examples/HelloCronScheduling.scala
- short specification: