Version 0.19.6 released

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

This is the third bugfix release of version 0.19. There are no breaking changes. The most important bugfixes are:

  • Boolean logic at compile time is now correct.
  • Bitwise operations on signed integers in VM are fixed.
  • Fixed object self-assignment order of evaluation.
  • Compiler no longer crashes with generic types and static generic parameters.
  • Fixed raising generic exceptions.

Installing 0.19.6

If you have installed a previous version of Nim using choosenim, getting Nim 0.19.6 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 “32 bit signed xor broken on VM” (#10482)
  • Fixed “SetMaxPoolSize not heeded” (#10584)
  • Fixed “uint inplace add in if branch is omitted when compiled to JS” (#10697)
  • Fixed “Booleans Work Wrong in Compile-time” (#10886)
  • Fixed “Bug in setTerminate()” (#10765)
  • Fixed “Cannot raise generic exception” (#7845)
  • Fixed “Nim string definition conflicts with other C/C++ instances” (#10907)
  • Fixed “std/json fails to escape most non-printables, breaking generation and parsing” (#10541)
  • Fixed “object self-assignment order-of-evaluation broken” (#9844)
  • Fixed “Compiler crash with generic types and static generic parameters” (#7569)