Version 0.19.4 released

The Nim team is happy to announce that the latest release of Nim, version 0.19.4, is now available. Nim is a systems programming language that focuses on performance, portability and expressiveness.

This is mostly a bugfix release of version 0.19.2. There are no breaking changes. The most important bugfixes are:

  • The mark&sweep GC had a serious performance regression that has been fixed.
  • The produced tarballs now support koch tests.
  • Json escaping has been fixed.
  • The documentation for async procs was missing, fixed.

Installing 0.19.4

If you have installed a previous version of Nim using choosenim, getting Nim 0.19.4 is as easy as:

$ choosenim update stable

If you don’t have it already, you can get choosenim by following these instructions or you can install Nim by following the instructions on our install page.


  • Fixed “Latest HEAD segfaults when compiling Aporia” (#9889)
  • Fixed “smtp module doesn’t support threads.” (#9728)
  • Fixed “toInt doesn’t raise an exception” (#2764)
  • Fixed “allow import inside block: makes N runnableExamples run N x faster, minimizes scope pollution” (#9300)
  • Fixed “regression: CI failing Error: unhandled exception: cannot open: /Users/travis/.cache/nim/docgen_sample_d/runnableExamples/docgen_sample_examples.nim [IOError]” (#10188)
  • Fixed “Discrepancy in Documentation About ‘f128 Type-Suffix” (#10213)
  • Fixed “Performance regression with –gc:markandsweep” (#10271)
  • Fixed “cannot call template/macros with varargs[typed] to varargs[untyped]” (#10075)
  • Fixed “–embedsrc does not work on macos” (#10263)
  • Fixed “terminal.nim colored output is not GCSAFE.” (#8294)
  • Fixed “Path in error message has ..\..\..\..\..\ prefix since 0.19.0” (#9556)
  • Fixed ““contributing” is listed as a module on theindex” (#10287)
  • Fixed “[Regression] converter to string leads fail to compile on 0.19” (#9149)
  • Fixed “oids counter starts at zero; spec says it should be random” (#2796)