We've just wrapped up a round of feature and refactoring work on `chronos`, 
which will soon become chronos v4 - since we tagged 3.2, a lot has happened:

  * Exception effects / `raises` for async procedures helping you write more 
efficient leak-free code
  * Cross-thread notification mechanism for suitable building channels, queues 
and other multithreaded primitives
  * Async process I/O
  * IPv6 dual stack support
  * A new documentation web site covering the basics, with several simple 
examples for getting started: <https://status-im.github.io/nim-chronos/>



With the above (specially the process and thread support), chronos itself is 
"mostly feature-complete", also when comparing it to asyncdispatch - we'll 
continue developing it of course, but the basic bits and pieces that we were 
hoping to get done are there. If you're still missing something relevant, [open 
an issue](https://github.com/status-im/nim-chronos/issues).

We're tagging it as a new major version because your code might need a few 
adjustments to deal with the new exception effect requirements - these are 
described in the docs - we're also dropping support for Nim 1.2 / 1.4 - support 
starts at a recent 1.6 release.

What about ORC? Well, as part of making chronos memory-efficient, we've 
eliminated all allocation cycles in the core transformation - this makes 
chronos well suited for ORC in general. However, ORC is not yet stable enough 
for production, meaning we don't test it extensively beyond hoping the test 
suite will finish - YMMV - let us know if it works and / or provide fixes. If 
you actually need things to work, we recommend `--mm:refc` on Nim 2.0 (probably 
until 2.2 is released).

If you're using chronos, now is a good time to check out latest master as we'll 
be tagging 4.0 soon (or make sure to depend on 3.x specifically). 

Reply via email to