Our blog is home to many articles consisting of announcements, descriptions of the language, use cases and much more. You will find articles written by both the Nim developers as well as guest authors.

Faster Command Line Tools in Nim

This is a guest post by Euan Torano cross-posted from Faster Command Line Tools in Nim. If you would like to publish articles as a guest author on then get in touch with us via Twitter or otherwise.

Version 0.17.0 released

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

Version 0.16.0 released

We’re happy to announce that the latest release of Nim, version 0.16.0, is now available!

Nim in Action is going into production!

I am very happy to say that just last week I have put the finishing touches on Nim in Action. The final manuscript has been submitted to Manning (the book's publisher), and the printed version is expected to start shipping in March 2017 (give or take 1 month).

Version 0.15.2 released

We’re happy to announce that the latest release of Nim, version 0.15.2, is now available!

Version 0.15.0 released

We’re happy to announce that the latest release of Nim, version 0.15.0, is now available!

Nim Community Survey Results

We have recently closed the 2016 Nim Community Survey. I am happy to say that we have received exactly 790 responses, huge thanks go to the people that took the time to respond. We’re incredibly thankful for this very valuable feedback.

BountySource Update: The Road to v1.0

This was cross-posted from update #4 on BountySource.

Launching the 2016 Nim Community Survey

We are proud to announce the official 2016 Nim Community Survey! No matter whether you use Nim today, have used Nim previously, or never used Nim before; we want to know your opinions. Your feedback will help the Nim project understand its strengths and weaknesses, and to determine development priorities for the future.

Version 0.14.2 released

Version 0.14.2 is just a bugfix release that fixes the most pressing regressions. In particular, the tar.xz now supports documentation generation, and the Windows installers bundle the latest stable nimble release.

Version 0.14.0 released

It’s been a while since the last release, but we’ve been very busy in the meantime. In addition to working on Nim we have started a BountySource campaign and announced the pre-release of a new Nim book titled Nim in Action. Our BountySource campaign has already been very successful, helping us raise enough funds to surpass 4 of our monthly goals. The companies and individuals that made this possible are listed on our brand new sponsors page.

Meet our BountySource sponsors

It has now been two months since we began our fundraiser. Time to meet our current sponsors.

Nim in Action is now available!

We are proud to announce that Nim in Action, a book about the Nim programming language, is now available!

Version 0.13.0 released

Once again we are proud to announce the latest release of the Nim compiler and related tools. This release comes just 3 months after the last release!

Andreas Rumpf's talk at OSCON Amsterdam

In case you have missed it, here is Andreas’ Nim: An Overview talk at OSCON Amsterdam.

Version 0.12.0 released

The Nim community of developers is proud to announce the new version of the Nim compiler. This has been a long time coming as the last release has been made over 5 months ago!

First Nim conference

Learn about the first Nim workshop in Kyiv.

Version 0.11.2 released

This is just a bugfix release that fixes the most pressing regressions we introduced with version 0.11.0. The way types are computed was changed significantly causing all sort of problems. Sorry for the inconvenience; we grew overconfident our large test suite would prevent these things.

Version 0.11.0 released

With this release we are one step closer to reaching version 1.0 and by extension the persistence of the Nim specification. As mentioned in the previous release notes, starting with version 1.0, we will not be introducing any more breaking changes to Nim.

Version 0.10.2 released

This release marks the completion of a very important change to the project: the official renaming from Nimrod to Nim. Version 0.10.2 contains many language changes, some of which may break your existing code. For your convenience, we added a new tool called nimfix that will help you convert your existing projects so that it works with the latest version of the compiler.

New website design!

A brand new website including an improved forum is now live. All thanks go to Philip Witte and Dominik Picheta, Philip Witte for the design of the website (together with the logo) as well as the HTML and CSS code for his template, and Dominik Picheta for integrating Philip’s design with Nim’s forum. We’re sure you will agree that Philip’s design is beautiful.

Version 0.9.6 released

Note: 0.9.6 is the last release of Nimrod. The language is being renamed to Nim. Nim slightly breaks compatibility.

Version 0.9.4 released

The Nimrod development community is proud to announce the release of version 0.9.4 of the Nimrod compiler and tools. Note: This release has to be considered beta quality! Lots of new features have been implemented but unfortunately some do not fulfill our quality standards yet.

Nimrod Featured in Dr. Dobb's Journal

Nimrod has been featured as the cover story in the February 2014 issue of Dr. Dobb’s Journal.

Andreas Rumpf's talk on Nimrod at Strange Loop 2013 is now online

Andreas Rumpf presented Nimrod: A New Approach to Metaprogramming at Strange Loop 2013. The video and slides of the talk are now available.

Version 0.9.2 released

We are pleased to announce that version 0.9.2 of the Nimrod compiler has been released. This release has attracted by far the most contributions in comparison to any other release.

Version 0.9.0 released


  • Unsigned integers have been added.
  • The integer type promotion rules changed.
  • The template and macro system evolved.
  • Closures have been implemented.
  • Term rewriting macros have been implemented.
  • First steps to unify expressions and statements have been taken.
  • Symbol lookup rules in generics have become stricter to catch more errors.

Version 0.8.14 released

Version 0.8.14 has been released!

Version 0.8.12 released


  • Bugfix: httpclient correct passes the path starting with /.
  • Bugfixes for the htmlparser module.
  • Bugfix: pegs.find did not respect start parameter.
  • Bugfix: dialogs.ChooseFilesToOpen did not work if only one file is selected.
  • Bugfix: niminst: nimrod is not default dir for every project.
  • Bugfix: Multiple yield statements in iterators did not cause local vars to be copied.
  • Bugfix: The compiler does not emit very inaccurate floating point literals anymore.
  • Bugfix: Subclasses are taken into account for try except matching.
  • Bugfix: Generics and macros are more stable. There are still known bugs left though.
  • Bugfix: Generated type information for tuples was sometimes wrong, causing random crashes.
  • Lots of other bugfixes: Too many to list them all.

Version 0.8.10 released


  • Bugfix: Command line parsing on Windows and os.parseCmdLine now adheres to the same parsing rules as Microsoft’s C/C++ startup code.
  • Bugfix: Passing a ref pointer to the untyped pointer type is invalid.
  • Bugfix: Updated keyval example.
  • Bugfix: system.splitChunk still contained code for debug output.
  • Bugfix: dialogs.ChooseFileToSave uses STOCK_SAVE instead of STOCK_OPEN for the GTK backend.
  • Bugfix: Various bugs concerning exception handling fixed.
  • Bugfix: low(somestring) crashed the compiler.
  • Bugfix: strutils.endsWith lacked range checking.
  • Bugfix: Better detection for AMD64 on Mac OS X.

Version 0.8.8 released


  • The Posix version of os.copyFile has better error handling.
  • Fixed bug #502670 (underscores in identifiers).
  • Fixed a bug in the parsexml module concerning the parsing of <tag attr="value" />.
  • Fixed a bug in the parsexml module concerning the parsing of enities like &ltXX.
  • system.write(f: TFile, s: string) now works even if s contains binary zeros.
  • Fixed a bug in os.setFilePermissions for Windows.
  • An overloadable symbol can now have the same name as an imported module.
  • Fixed a serious bug in strutils.cmpIgnoreCase.
  • Fixed unicode.toUTF8.
  • The compiler now rejects '\n' (use "\n" instead).
  • times.getStartMilsecs() now works on Mac OS X.
  • Fixed a bug in pegs.match concerning start offsets.
  • Lots of other little bugfixes.

Version 0.8.6 released

The version jump from 0.8.2 to 0.8.6 acknowledges the fact that all development of the compiler is now done in Nimrod.

RSS feed