<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Nim Programming Language</title>
    <description>The Nim programming language is a concise, fast programming language that compiles to C, C++ and JavaScript.
</description>
    <link>https://nim-lang.org//</link>
    <atom:link href="https://nim-lang.org//feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Fri, 24 Apr 2026 10:20:17 +0000</pubDate>
    <lastBuildDate>Fri, 24 Apr 2026 10:20:17 +0000</lastBuildDate>
    <generator>Jekyll v3.4.3</generator>
    
      <item>
        <title>Nim version 2.2.10 released</title>
        <description>&lt;p&gt;The Nim Team is happy to announce version 2.2.10, the fifth patch release for our stable release, Nim 2.2.&lt;/p&gt;

&lt;p&gt;It comes two months after the 2.2.8 release and it contains &lt;a href=&quot;https://github.com/nim-lang/Nim/compare/v2.2.8...v2.2.10&quot;&gt;76 commits&lt;/a&gt;, bringing bugfixes and improvements.&lt;/p&gt;

&lt;p&gt;If you’re still on Nim 1.6, take a look at the &lt;a href=&quot;https://nim-lang.org/blog/2023/08/01/nim-v20-released.html&quot;&gt;version 2.0 release article&lt;/a&gt; to see all the features you’re missing.
If you’ve been using Nim 2.0, the &lt;a href=&quot;https://nim-lang.org/blog/2024/10/02/nim-220-2010.html&quot;&gt;version 2.2 release article&lt;/a&gt; shows the improvements available in Nim 2.2.&lt;/p&gt;

&lt;p&gt;The Nim 2.2.10 changelog is available &lt;a href=&quot;https://github.com/nim-lang/Nim/blob/v2.2.10/changelog.md&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;nimconf-2026&quot;&gt;NimConf 2026&lt;/h2&gt;

&lt;p&gt;We would like to remind you about &lt;a href=&quot;https://conf.nim-lang.org&quot;&gt;NimConf 2026&lt;/a&gt;.
If you have anything you would like to share with the Nim community, you have two more weeks (until May 10th) to &lt;a href=&quot;https://forms.gle/iw3hkBKkhuP2d4Dt8&quot;&gt;submit your talk proposal&lt;/a&gt;.
More details available &lt;a href=&quot;https://nim-lang.org/blog/2026/04/07/nimconf-2026.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;installing-nim-2210&quot;&gt;Installing Nim 2.2.10&lt;/h2&gt;

&lt;p&gt;Check out if the package manager of your OS already ships version 2.2.10 or
install it as described &lt;a href=&quot;https://nim-lang.org/install.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you have installed a previous version of Nim using &lt;code class=&quot;highlighter-rouge&quot;&gt;choosenim&lt;/code&gt;,
getting Nim 2.2.10 is as easy as:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;choosenim update self
&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;choosenim update stable
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; We recommend that you install and use the latest version of &lt;code class=&quot;highlighter-rouge&quot;&gt;choosenim&lt;/code&gt;, v0.8.16, available in &lt;a href=&quot;https://github.com/nim-lang/choosenim&quot;&gt;our choosenim repo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Alternatively, you can download Nim 2.2.10 from
&lt;a href=&quot;https://github.com/nim-lang/nightlies/releases/tag/2026-04-24-version-2-2-bfeb3146d1638b39f69007a4ae5a23e23ae4e5ef&quot;&gt;our nightlies builds&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;bugfixes&quot;&gt;Bugfixes&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;new&lt;/code&gt; doesn’t work with &lt;code class=&quot;highlighter-rouge&quot;&gt;ref object&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25005&quot;&gt;#25005&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Switch default mangling back to cpp”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25338&quot;&gt;#25338&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;unhandled exception: field 'sym' is not accessible&lt;/code&gt; with &lt;code class=&quot;highlighter-rouge&quot;&gt;type W[N] = seq[tuple[b: N]]&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25509&quot;&gt;#25509&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;proc f(x: static[auto])&lt;/code&gt; doesn’t treat &lt;code class=&quot;highlighter-rouge&quot;&gt;x&lt;/code&gt; as &lt;code class=&quot;highlighter-rouge&quot;&gt;static&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/21281&quot;&gt;#21281&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Invalid codegen for accessing tuple in array”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25553&quot;&gt;#25553&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;proc v[T: typedesc]() = discard&lt;/code&gt; / &lt;code class=&quot;highlighter-rouge&quot;&gt;v[0]()&lt;/code&gt; compiles even though &lt;code class=&quot;highlighter-rouge&quot;&gt;0&lt;/code&gt; isn’t a &lt;code class=&quot;highlighter-rouge&quot;&gt;typedesc&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25262&quot;&gt;#25262&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “ICE evaluating closure iter with object conversion”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25572&quot;&gt;#25572&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Regression from v2.2.6 to v2.2.8 and also &lt;code class=&quot;highlighter-rouge&quot;&gt;devel&lt;/code&gt; in refc &lt;code class=&quot;highlighter-rouge&quot;&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;.align.&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;/code&gt; pragma where each 16-byte-aligned heap objects gets its own page”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25566&quot;&gt;#25566&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Nim v2.2.x ORC adds extra &lt;code class=&quot;highlighter-rouge&quot;&gt;nimZeroMem&lt;/code&gt;/&lt;code class=&quot;highlighter-rouge&quot;&gt;nimCopyMem&lt;/code&gt;/stack usage over refc”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25552&quot;&gt;#25552&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Regression from 2.0 to &lt;code class=&quot;highlighter-rouge&quot;&gt;version-2-2&lt;/code&gt;/&lt;code class=&quot;highlighter-rouge&quot;&gt;devel&lt;/code&gt; with &lt;code class=&quot;highlighter-rouge&quot;&gt;refc&lt;/code&gt;, LTO and &lt;code class=&quot;highlighter-rouge&quot;&gt;-fstack-usage&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24746&quot;&gt;#24746&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;internal error: getTypeDescAux(tyVoid)&lt;/code&gt; with either &lt;code class=&quot;highlighter-rouge&quot;&gt;discard default(tuple[b: void])&lt;/code&gt; or &lt;code class=&quot;highlighter-rouge&quot;&gt;discard default((void,))&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25508&quot;&gt;#25508&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “parseFloat/parseBiggestFloat lose sign of &lt;code class=&quot;highlighter-rouge&quot;&gt;-NaN&lt;/code&gt; (signbit is negative)”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25597&quot;&gt;#25597&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “ARC/ORC SIGSEGV with captured variables and closure iterators in &lt;code class=&quot;highlighter-rouge&quot;&gt;reset&lt;/code&gt;/&lt;code class=&quot;highlighter-rouge&quot;&gt;nimDecRefIsLastCyclicStatic&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25596&quot;&gt;#25596&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;discard mapIt([0], 0)&lt;/code&gt; results in &lt;code class=&quot;highlighter-rouge&quot;&gt;lib/pure/collections/sequtils.nim(1095, 11) Hint: 'it' is declared but not used [XDeclaredButNotUsed]&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25626&quot;&gt;#25626&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;proc r(_: typedesc, _: static uint | static int) = discard; r(uint, 0)&lt;/code&gt; causes &lt;code class=&quot;highlighter-rouge&quot;&gt;cannot generate code for: mStatic&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25642&quot;&gt;#25642&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “two overflowed &lt;code class=&quot;highlighter-rouge&quot;&gt;*=&lt;/code&gt; causes program deadloop &lt;code class=&quot;highlighter-rouge&quot;&gt;sysFatal&lt;/code&gt; on –exceptions:goto”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25658&quot;&gt;#25658&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “commands: –maxLoopIterationsVM validation used wrong condition (not/bind precedence)”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25671&quot;&gt;#25671&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “docgen: cmpDecimalsIgnoreCase uses wrong index in max() for digit window”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25670&quot;&gt;#25670&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “parsecfg: IndexDefect in replace() when value ends with ‘\c’”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25674&quot;&gt;#25674&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Regression: object with self-referential lent proc field fails to compile”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25677&quot;&gt;#25677&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;proc g() {.exportc, error: &quot;&quot;.} = (; let a = 0)&lt;/code&gt; causes &lt;code class=&quot;highlighter-rouge&quot;&gt;Error: internal error: expr(nkIdent); unknown node kind&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25632&quot;&gt;#25632&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Doc comment makes nimvm ignore assignment through template”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25682&quot;&gt;#25682&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “orc: seq assignment slow”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25687&quot;&gt;#25687&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Regression from v2.2.6 to v2.2.8 and also &lt;code class=&quot;highlighter-rouge&quot;&gt;devel&lt;/code&gt; in refc &lt;code class=&quot;highlighter-rouge&quot;&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;.align.&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;/code&gt; pragma where each 32-byte-aligned heap objects gets its own page”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25577&quot;&gt;#25577&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “nimsuggest –v3 and –v4 “outline” output does not list methods”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25710&quot;&gt;#25710&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “{.borrow.} on iterator for distinct seq triggers internal error”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25697&quot;&gt;#25697&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “template with overload redefines proc”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25290&quot;&gt;#25290&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Invalid C code generation with &lt;code class=&quot;highlighter-rouge&quot;&gt;iterator&lt;/code&gt;/&lt;code class=&quot;highlighter-rouge&quot;&gt;nimvm&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25724&quot;&gt;#25724&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “std/parseopt no longer support &lt;code class=&quot;highlighter-rouge&quot;&gt;-&lt;/code&gt; when shortNoVal is given”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25738&quot;&gt;#25738&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Using sum types with module specifiers typechecks inconsistently”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/18095&quot;&gt;#18095&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Conversion from distinct in &lt;code class=&quot;highlighter-rouge&quot;&gt;for&lt;/code&gt; forces a copy of underlying instance”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25469&quot;&gt;#25469&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;static: (for f in [0]: discard a.b == f)&lt;/code&gt; causes &lt;code class=&quot;highlighter-rouge&quot;&gt;nim check&lt;/code&gt; &lt;code class=&quot;highlighter-rouge&quot;&gt;unhandled exception: field 'intVal' is not accessible for type 'TFullReg' using 'kind = rkNone' [FieldDefect]&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25732&quot;&gt;#25732&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “JS backend crashes when returning Option[T] with custom =destroy”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25751&quot;&gt;#25751&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;setLenUnit&lt;/code&gt; slow, actually initializes seq (refc)”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25718&quot;&gt;#25718&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Stack overflow/materialization-based segfault in refc and ORC with large object initialization and heap assignment”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25695&quot;&gt;#25695&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The complete list of changes is available &lt;a href=&quot;https://github.com/nim-lang/Nim/compare/v2.2.8...v2.2.10&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
</description>
        <pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate>
        <link>https://nim-lang.org//blog/2026/04/24/nim-2210.html</link>
        <guid isPermaLink="true">https://nim-lang.org//blog/2026/04/24/nim-2210.html</guid>
        
        
      </item>
    
      <item>
        <title>NimConf 2026: Dates Announced, Registrations Open</title>
        <description>&lt;p&gt;The Nim Team is happy to announce the next instalment of &lt;a href=&quot;https://conf.nim-lang.org&quot;&gt;NimConf&lt;/a&gt;!
NimConf 2026 will happen &lt;strong&gt;June 20, 2026&lt;/strong&gt; in the traditional online format where the talks are pre-recorded and revealed as premiers on YouTube while the viewers can ask questions and the presenter can answer them in the live chat.&lt;/p&gt;

&lt;p&gt;If you have anything to share with the Nim community, &lt;a href=&quot;https://forms.gle/iw3hkBKkhuP2d4Dt8&quot;&gt;submit your talk proposal&lt;/a&gt; before &lt;strong&gt;May 10, 2026&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The moderators will contact you if your talk is accepted and you’ll have time until &lt;strong&gt;June 7, 2026&lt;/strong&gt; to record and submit your talk.&lt;/p&gt;

&lt;p&gt;If you are unsure if your topic fits with the NimConf format, please &lt;strong&gt;do submit it anyway&lt;/strong&gt;: the Nim community is generally open to learn about anything Nim-related from pet project showcases to niche libraries and business usecases.&lt;/p&gt;

&lt;h2 id=&quot;what-is-nimconf&quot;&gt;What is NimConf?&lt;/h2&gt;

&lt;p&gt;NimConf is an online community event all about the Nim programming language: language development, its ecosystem, projects created with Nim, business cases enabled with Nim, and so on. Basically, anything Nim-related is a legit topic for a talk.&lt;/p&gt;

&lt;p&gt;For viewers, it’s a great opportunity to learn about the latest Nim development progress, discover new areas to use Nim for, improve your Nim expertise, and exchange experience with other Nim enthusiasts.&lt;/p&gt;

&lt;p&gt;For presenters, NimConf is an opportunity to reach out to new audiences, promote your work, collect feedback, and build the community.&lt;/p&gt;

&lt;p&gt;You can see all the talks from previous years on YouTube:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PLxLdEZg8DRwTIEzUpfaIcBqhsj09mLWHx&quot;&gt;NimConf 2020&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PLxLdEZg8DRwRXNrY7yyGU0-g_GRSyRGKo&quot;&gt;NimConf 2021&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PLxLdEZg8DRwSQQaK0UVRd1DaetVc3lIwr&quot;&gt;NimConf 2022&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PLxLdEZg8DRwSkT93RIO-CoY-MxHOjYzs2&quot;&gt;NimConf 2024&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;important-dates&quot;&gt;Important Dates&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Talk proposals are accepted until &lt;strong&gt;May 10, 2026&lt;/strong&gt;.&lt;/li&gt;
  &lt;li&gt;Talk recordings must be submitted before &lt;strong&gt;June 7, 2026&lt;/strong&gt;.&lt;/li&gt;
  &lt;li&gt;NimConf 2026 will be held on &lt;strong&gt;June 20, 2026&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Tue, 07 Apr 2026 00:00:00 +0000</pubDate>
        <link>https://nim-lang.org//blog/2026/04/07/nimconf-2026.html</link>
        <guid isPermaLink="true">https://nim-lang.org//blog/2026/04/07/nimconf-2026.html</guid>
        
        
      </item>
    
      <item>
        <title>Nim version 2.2.8 released</title>
        <description>&lt;p&gt;The Nim Team is happy to announce version 2.2.8, the fourth patch release for our stable release, Nim 2.2.&lt;/p&gt;

&lt;p&gt;It comes four months after the 2.2.6 release and it contains &lt;a href=&quot;https://github.com/nim-lang/Nim/compare/v2.2.6...v2.2.8&quot;&gt;89 commits&lt;/a&gt;, bringing bugfixes and improvements.&lt;/p&gt;

&lt;p&gt;If you’re still on Nim 1.6, take a look at the &lt;a href=&quot;https://nim-lang.org/blog/2023/08/01/nim-v20-released.html&quot;&gt;version 2.0 release article&lt;/a&gt; to see all the features you’re missing.
If you’ve been using Nim 2.0, the &lt;a href=&quot;https://nim-lang.org/blog/2024/10/02/nim-220-2010.html&quot;&gt;version 2.2 release article&lt;/a&gt; shows the improvements available in Nim 2.2.&lt;/p&gt;

&lt;p&gt;The Nim 2.2.8 changelog is available &lt;a href=&quot;https://github.com/nim-lang/Nim/blob/v2.2.8/changelog.md&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;highlights&quot;&gt;Highlights&lt;/h2&gt;

&lt;p&gt;We think that for everyday users the most impactful bugfix is that for heavily multi-threaded code the default allocator is now much more stable. 
The days where the workaround &lt;code class=&quot;highlighter-rouge&quot;&gt;-d:useMalloc&lt;/code&gt; is required might be beyond us. 
Please give us feedback!&lt;/p&gt;

&lt;h2 id=&quot;installing-nim-228&quot;&gt;Installing Nim 2.2.8&lt;/h2&gt;

&lt;p&gt;Check out if the package manager of your OS already ships version 2.2.8 or
install it as described &lt;a href=&quot;https://nim-lang.org/install.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you have installed a previous version of Nim using &lt;code class=&quot;highlighter-rouge&quot;&gt;choosenim&lt;/code&gt;,
getting Nim 2.2.8 is as easy as:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;choosenim update self
&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;choosenim update stable
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; We recommend you to install and use the latest version of &lt;code class=&quot;highlighter-rouge&quot;&gt;choosenim&lt;/code&gt;, v.0.8.16, available in &lt;a href=&quot;https://github.com/nim-lang/choosenim&quot;&gt;our choosenim repo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Alternatively, you can download Nim 2.2.8 from
&lt;a href=&quot;https://github.com/nim-lang/nightlies/releases/tag/2026-02-23-version-2-2-4f500679b196fad944caa50a753f5bbfaefda001&quot;&gt;our nightlies builds&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;bugfixes&quot;&gt;Bugfixes&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Fixed “Unexpected ambiguous call with &lt;code class=&quot;highlighter-rouge&quot;&gt;fields&lt;/code&gt; over object with default fields”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25252&quot;&gt;#25252&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “C++ styled name mangling must be opt-in via a different switch than –debuginfo”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25263&quot;&gt;#25263&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Regression in 2.2.6: SIGBUS with iterator over const Table lookup - premature temporary destruction”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25251&quot;&gt;#25251&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Unable to build Nim 2.2.6 tools from source”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25265&quot;&gt;#25265&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;std/unicode.strip&lt;/code&gt; trailing fails on some characters”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/19846&quot;&gt;#19846&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Regression: .global initialization inside method hoisted to preInitProc without temporary variable declarations (invalid C codegen)”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25284&quot;&gt;#25284&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “passing tuple with &lt;code class=&quot;highlighter-rouge&quot;&gt;items&lt;/code&gt; defined as concept (UserDefinedClass) causes compiler crash”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25227&quot;&gt;#25227&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;setLen&lt;/code&gt; slow when shrinking seq due to zero-filling of released area”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/19728&quot;&gt;#19728&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;setLenUninit&lt;/code&gt; missing for &lt;code class=&quot;highlighter-rouge&quot;&gt;--mm:refc&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25007&quot;&gt;#25007&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Term rewriting stops processing on long files”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25304&quot;&gt;#25304&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;SIGSEGV&lt;/code&gt; regression from Nim v2.2.4 to v2.2.6/devel with closure iteratures”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25261&quot;&gt;#25261&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Combination of generic destructor and closure fails in certain cases”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/22305&quot;&gt;#22305&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Channel incorrectly takes a sink argument, when in fact it performs a deep copy internally”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25324&quot;&gt;#25324&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Dangling pointers in stack traces with &lt;code class=&quot;highlighter-rouge&quot;&gt;-d:nimStackTraceOverride&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25306&quot;&gt;#25306&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Closure iterator swallows finally body when it contains try..except. Regression in 2.2.6/devel”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25330&quot;&gt;#25330&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Invalid &lt;code class=&quot;highlighter-rouge&quot;&gt;m_type&lt;/code&gt; access in hooks for distinct generic types under ARC/ORC/HOOKS/ATOMICARC”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25341&quot;&gt;#25341&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Wrong type for second parameter of procedures “inc”, “dec”, “succ” and “pred””
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25329&quot;&gt;#25329&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Regression from v2.2.6 to &lt;code class=&quot;highlighter-rouge&quot;&gt;version-2-2&lt;/code&gt;/&lt;code class=&quot;highlighter-rouge&quot;&gt;devel&lt;/code&gt; with importing &lt;code class=&quot;highlighter-rouge&quot;&gt;let u {.global.} = default(ref int)&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25369&quot;&gt;#25369&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “[Concepts] Recursive concepts cause a compiler segfault when testing with &lt;code class=&quot;highlighter-rouge&quot;&gt;is&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/17630&quot;&gt;#17630&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “httpclient generates bad HTTPS requests through HTTP proxy”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25319&quot;&gt;#25319&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Invalid &lt;code class=&quot;highlighter-rouge&quot;&gt;pred&lt;/code&gt; in &lt;code class=&quot;highlighter-rouge&quot;&gt;when&lt;/code&gt; swallowed”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25254&quot;&gt;#25254&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Nim comment text + embedsrc breaks C codegen”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25387&quot;&gt;#25387&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Hooks do not  work for specific instances of static generic objects”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/23394&quot;&gt;#23394&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;shl&lt;/code&gt; causes undefined behaviour”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/19983&quot;&gt;#19983&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;Error: fatal error: invalid kind for lastOrd(tyNone)&lt;/code&gt; with &lt;code class=&quot;highlighter-rouge&quot;&gt;type M = set&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25419&quot;&gt;#25419&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Naked &lt;code class=&quot;highlighter-rouge&quot;&gt;raised&lt;/code&gt; causes wrong exception effect”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25400&quot;&gt;#25400&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “unhandled exception: field ‘intVal’ is not accessible for type ‘TNode’ using ‘kind = nkNilLit’ [FieldDefect]&lt;code class=&quot;highlighter-rouge&quot;&gt; with &lt;/code&gt;static: discard cast&lt;a href=&quot;default(pointer)&quot;&gt;pointer&lt;/a&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25446&quot;&gt;#25446&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Long integer literal truncated without warning”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25074&quot;&gt;#25074&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “add &lt;code class=&quot;highlighter-rouge&quot;&gt;--styleCheck:warn&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/19831&quot;&gt;#19831&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “SIGSEGV when trying to compile generic + void-type + typeclass combo”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25441&quot;&gt;#25441&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Crash when compiling invalid generic instantiation”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25231&quot;&gt;#25231&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “SIGSEGV in refc with &lt;code class=&quot;highlighter-rouge&quot;&gt;distinct&lt;/code&gt; types and assign to heap-allocated object”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25459&quot;&gt;#25459&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Warn on implicit range downsizing”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24706&quot;&gt;#24706&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “ICE leaking temporary 3 slotTempInt”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25482&quot;&gt;#25482&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Computed types violate isa transitivity”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25340&quot;&gt;#25340&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Strings can be compared against &lt;code class=&quot;highlighter-rouge&quot;&gt;nil&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25488&quot;&gt;#25488&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Crash on enum ranges as default parameters in generic procs”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25494&quot;&gt;#25494&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;align&lt;/code&gt; not respected in refc, leading to SIGSEGV”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25457&quot;&gt;#25457&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Invalid C code generation with &lt;code class=&quot;highlighter-rouge&quot;&gt;seq[array[...]]&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25475&quot;&gt;#25475&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Mon, 23 Feb 2026 00:00:00 +0000</pubDate>
        <link>https://nim-lang.org//blog/2026/02/23/nim-228.html</link>
        <guid isPermaLink="true">https://nim-lang.org//blog/2026/02/23/nim-228.html</guid>
        
        
      </item>
    
      <item>
        <title>Nim version 2.2.6 released</title>
        <description>&lt;p&gt;The Nim Team is happy to announce version 2.2.6, the third patch release for our stable release, Nim 2.2.&lt;/p&gt;

&lt;p&gt;It comes six months after the 2.2.4 release and it contains &lt;a href=&quot;https://github.com/nim-lang/Nim/compare/v2.2.4...v2.2.6&quot;&gt;141 commits&lt;/a&gt;, bringing bugfixes and improvements.&lt;/p&gt;

&lt;p&gt;If you’re still on Nim 1.6, take a look at the &lt;a href=&quot;https://nim-lang.org/blog/2023/08/01/nim-v20-released.html&quot;&gt;version 2.0 release article&lt;/a&gt; to see all the features you’re missing.
If you’ve been using Nim 2.0, the &lt;a href=&quot;https://nim-lang.org/blog/2024/10/02/nim-220-2010.html&quot;&gt;version 2.2 release article&lt;/a&gt; shows the improvements available in Nim 2.2.&lt;/p&gt;

&lt;p&gt;The Nim 2.2.6 changelog is available &lt;a href=&quot;https://github.com/nim-lang/Nim/blob/v2.2.6/changelog.md&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;highlights&quot;&gt;Highlights&lt;/h2&gt;

&lt;p&gt;Exception handling combined with Nim’s &lt;code class=&quot;highlighter-rouge&quot;&gt;async&lt;/code&gt; is more stable than ever before
as the underlying closure iterator transformation has been rewritten.&lt;/p&gt;

&lt;p&gt;The compiler is now smart enough to produce a move operation for &lt;code class=&quot;highlighter-rouge&quot;&gt;return obj.field&lt;/code&gt;.
Previously it performed a copy.
Expect your code to run slightly faster due to this and other minor performance improvements.&lt;/p&gt;

&lt;h2 id=&quot;installing-nim-226&quot;&gt;Installing Nim 2.2.6&lt;/h2&gt;

&lt;p&gt;Check out if the package manager of your OS already ships version 2.2.6 or
install it as described &lt;a href=&quot;https://nim-lang.org/install.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you have installed a previous version of Nim using &lt;code class=&quot;highlighter-rouge&quot;&gt;choosenim&lt;/code&gt;,
getting Nim 2.2.6 is as easy as:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;choosenim update self
&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;choosenim update stable
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; We recommend you to install and use the latest version of &lt;code class=&quot;highlighter-rouge&quot;&gt;choosenim&lt;/code&gt;, v.0.8.16, available in &lt;a href=&quot;https://github.com/nim-lang/choosenim&quot;&gt;our choosenim repo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Alternatively, you can download Nim 2.2.6 from
&lt;a href=&quot;https://github.com/nim-lang/nightlies/releases/tag/2025-10-31-version-2-2-ab00c56904e3126ad826bb520d243513a139436a&quot;&gt;our nightlies builds&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;bugfixes&quot;&gt;Bugfixes&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;=destroy&lt;/code&gt; for non-var failed to compile when JS”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24914&quot;&gt;#24914&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;.push&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;err&quot;&gt;raises:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;err&quot;&gt;[].&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;/code&gt; doesn’t respect lexical scoping”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/23355&quot;&gt;#23355&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Pragma block disabling warning has effect beyond block”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/21975&quot;&gt;#21975&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “missing &lt;code class=&quot;highlighter-rouge&quot;&gt;&amp;lt;&lt;/code&gt; (less than), &lt;code class=&quot;highlighter-rouge&quot;&gt;cmp&lt;/code&gt; for &lt;code class=&quot;highlighter-rouge&quot;&gt;cstring&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24941&quot;&gt;#24941&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “[GC] Illegal storage access when collecting cycle”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/4851&quot;&gt;#4851&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Globals in proc with static params end up being re-initialized”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24940&quot;&gt;#24940&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Constructor to global variable in converter generates illegal c code”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/4594&quot;&gt;#4594&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Compile-time regression from v2.2.4 to &lt;code class=&quot;highlighter-rouge&quot;&gt;version-2-2&lt;/code&gt;/&lt;code class=&quot;highlighter-rouge&quot;&gt;devel&lt;/code&gt; with &lt;code class=&quot;highlighter-rouge&quot;&gt;global&lt;/code&gt; variable with &lt;code class=&quot;highlighter-rouge&quot;&gt;unhandled exception: iterators.nim(254, 11) len(a) == L the length of the seq changed while iterating over it [AssertionDefect]&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24981&quot;&gt;#24981&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “SIGSEGV when raising &lt;code class=&quot;highlighter-rouge&quot;&gt;Defect&lt;/code&gt;/doAssert”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24974&quot;&gt;#24974&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Crash on marking destroy hook as .error”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24996&quot;&gt;#24996&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;hasCustomPragma&lt;/code&gt; stops working after typedesc is copied”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/23564&quot;&gt;#23564&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Asyncnet accept leaks socket on SSL error; Regression in devel”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25023&quot;&gt;#25023&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “SIGSEGV in closure iterator with try/except not at top level”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/21235&quot;&gt;#21235&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Regression from v2.2.4 to &lt;code class=&quot;highlighter-rouge&quot;&gt;version-2-2&lt;/code&gt;/&lt;code class=&quot;highlighter-rouge&quot;&gt;devel&lt;/code&gt; with closure iterator”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25038&quot;&gt;#25038&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “fixes #24997; {.global.} variable in recursive function”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25016&quot;&gt;#25016&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “concept param passed to varargs causes &lt;code class=&quot;highlighter-rouge&quot;&gt;internal error: genTypeInfo(tyUserTypeClassInst)&lt;/code&gt; when  JS backend”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25043&quot;&gt;#25043&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Bad order of destruction”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24719&quot;&gt;#24719&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Floats are not range checked”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/7179&quot;&gt;#7179&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “typo in docs”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25084&quot;&gt;#25084&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Regression from Nim v2.2.2 to v2.2.4/&lt;code class=&quot;highlighter-rouge&quot;&gt;version-2-2&lt;/code&gt;/devel in &lt;code class=&quot;highlighter-rouge&quot;&gt;nim cpp&lt;/code&gt; with compatible types not keeping L-valueness”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25109&quot;&gt;#25109&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;FieldDefect&lt;/code&gt; compiler crash when comparing pointers at compile time”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25066&quot;&gt;#25066&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Slow compilation due to &lt;code class=&quot;highlighter-rouge&quot;&gt;vmgen.sameConstant&lt;/code&gt; and memory allocations”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25114&quot;&gt;#25114&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;unhandled exception: field 'sym' is not accessible for type 'TNode' using 'kind = nkEmpty' [FieldDefect]&lt;/code&gt; with iterator-loop”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25121&quot;&gt;#25121&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;strutils.formatSize&lt;/code&gt; returns wrong values from large values close to int64.high”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25125&quot;&gt;#25125&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Dereferencing result of &lt;code class=&quot;highlighter-rouge&quot;&gt;cast&lt;/code&gt; in single expression triggers unnecessary copy”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24093&quot;&gt;#24093&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;internal error: '=destroy' operator not found for type NimNode&lt;/code&gt; returning &lt;code class=&quot;highlighter-rouge&quot;&gt;NimNode&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25120&quot;&gt;#25120&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;requiresInit&lt;/code&gt; not checked for &lt;code class=&quot;highlighter-rouge&quot;&gt;result&lt;/code&gt; if it has been used (2.2 regression)”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25117&quot;&gt;#25117&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;filterIt&lt;/code&gt; wrongly results in rvalue”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25078&quot;&gt;#25078&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;@&lt;/code&gt; extremely slow for trivial types”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25063&quot;&gt;#25063&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “withValue for immut tab wrong chk cond”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25162&quot;&gt;#25162&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Invalid C codegen &lt;code class=&quot;highlighter-rouge&quot;&gt;refc&lt;/code&gt; with generic types containing gc memory”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24844&quot;&gt;#24844&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “SinglyLinkedList.remove broken / AssertionDefect”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25173&quot;&gt;#25173&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;error: ‘T2_’ undeclared&lt;/code&gt; and &lt;code class=&quot;highlighter-rouge&quot;&gt;error: incompatible types when assigning to type ‘void *’&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24361&quot;&gt;#24361&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Noncopyable base type ignored”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24760&quot;&gt;#24760&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;lent string&lt;/code&gt; generic field isn’t preserving its value”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25127&quot;&gt;#25127&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “cannot return &lt;code class=&quot;highlighter-rouge&quot;&gt;lent&lt;/code&gt; expression from conditionals like &lt;code class=&quot;highlighter-rouge&quot;&gt;case&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/23949&quot;&gt;#23949&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;Error: internal error: proc has no result symbol&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/21476&quot;&gt;#21476&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Invalid codegen / dangling pointer for openArray escaping from &lt;code class=&quot;highlighter-rouge&quot;&gt;block&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24261&quot;&gt;#24261&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “lib/system/iterators.nim(250, 14) Error: internal error: genArrayLen()”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25167&quot;&gt;#25167&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;Error: unhandled exception: field 'sym' is not accessible for type 'TNode'&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/21138&quot;&gt;#21138&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;error: ‘pthread_mutex_t’ has no member named ‘abi’&lt;/code&gt; in refc with &lt;code class=&quot;highlighter-rouge&quot;&gt;reset&lt;/code&gt;/&lt;code class=&quot;highlighter-rouge&quot;&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;.exportc.&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25205&quot;&gt;#25205&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Uninitialized variable usage in &lt;code class=&quot;highlighter-rouge&quot;&gt;resize__system_u...&lt;/code&gt; in &lt;code class=&quot;highlighter-rouge&quot;&gt;@psystem.nim.c&lt;/code&gt; in ORC”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25204&quot;&gt;#25204&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “VM error when passing object field ref to &lt;code class=&quot;highlighter-rouge&quot;&gt;proc(var T): var T&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25210&quot;&gt;#25210&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Closure environement wrongly marked as cyclic (orc)”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25048&quot;&gt;#25048&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Infinite loop with anonymous iterator”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25046&quot;&gt;#25046&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “JS: &lt;code class=&quot;highlighter-rouge&quot;&gt;cast[char](i)&lt;/code&gt; for &lt;code class=&quot;highlighter-rouge&quot;&gt;i &amp;gt; 255&lt;/code&gt; not truncate”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25222&quot;&gt;#25222&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “VM issue with globals and assignments”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25208&quot;&gt;#25208&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Case object from &lt;code class=&quot;highlighter-rouge&quot;&gt;compileTime&lt;/code&gt; proc unable to be passed as &lt;code class=&quot;highlighter-rouge&quot;&gt;static&lt;/code&gt; param”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25123&quot;&gt;#25123&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “VM &lt;code class=&quot;highlighter-rouge&quot;&gt;repr&lt;/code&gt; raises RangeDefect for long string under refc”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25226&quot;&gt;#25226&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Broken assignment of union with bool inside variant object”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25236&quot;&gt;#25236&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “deques: Deque items behavior is not the same on 2.0.16 and 2.2.0”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25240&quot;&gt;#25240&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;nim doc&lt;/code&gt; uses doc comment from private field for public field”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25027&quot;&gt;#25027&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Compiler internal error &lt;code class=&quot;highlighter-rouge&quot;&gt;compiler/vmgen.nim(1771, 23)&lt;/code&gt; with &lt;code class=&quot;highlighter-rouge&quot;&gt;static&lt;/code&gt; overload”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25008&quot;&gt;#25008&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Wrong exception raised wrapped in finally in closure iterator; Regression in devel/version-2-2”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/25202&quot;&gt;#25202&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The complete list of changes is available &lt;a href=&quot;https://github.com/nim-lang/Nim/compare/v2.2.4...v2.2.6&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
</description>
        <pubDate>Fri, 31 Oct 2025 00:00:00 +0000</pubDate>
        <link>https://nim-lang.org//blog/2025/10/31/nim-226.html</link>
        <guid isPermaLink="true">https://nim-lang.org//blog/2025/10/31/nim-226.html</guid>
        
        
      </item>
    
      <item>
        <title>Nim versions 2.2.4 and 2.0.16 released</title>
        <description>&lt;p&gt;The Nim Team is happy to announce two releases:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;version 2.2.4, a second patch release for the latest stable version&lt;/li&gt;
  &lt;li&gt;version 2.0.16, an eight patch release for Nim 2.0&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Nim v2.2.4 comes two and a half months after the v2.2.2 release and it contains &lt;a href=&quot;https://github.com/nim-lang/Nim/compare/v2.2.2...v2.2.4&quot;&gt;108 commits&lt;/a&gt; bringing bugfixes and improvements.&lt;/p&gt;

&lt;p&gt;If you’re still using Nim v2.0, the v2.0.16 release brings &lt;a href=&quot;https://github.com/nim-lang/Nim/compare/v2.0.14...v2.0.16&quot;&gt;31 commits&lt;/a&gt; with bugfixes.
But we would encourage you to switch to Nim v2.2, as it brings significant improvements to the ORC memory management and to the language and the compiler overall.&lt;br /&gt;
Here is the &lt;a href=&quot;https://nim-lang.org/blog/2024/10/02/nim-220-2010.html&quot;&gt;version 2.2 release article&lt;/a&gt;, showing the improvements available in Nim 2.2.&lt;/p&gt;

&lt;p&gt;The Nim 2.2.4 changelog is available &lt;a href=&quot;https://github.com/nim-lang/Nim/blob/v2.2.4/changelog.md&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;installing-nim-224&quot;&gt;Installing Nim 2.2.4&lt;/h2&gt;

&lt;p&gt;Check out if the package manager of your OS already ships version 2.2.4 or
install it as described &lt;a href=&quot;https://nim-lang.org/install.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you have installed a previous version of Nim using &lt;code class=&quot;highlighter-rouge&quot;&gt;choosenim&lt;/code&gt;,
getting Nim 2.2.4 is as easy as:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;choosenim update self
&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;choosenim update stable
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; Make sure that the version of choosenim you have installed is 0.8.5 or higher, otherwise visit &lt;a href=&quot;https://github.com/nim-lang/choosenim&quot;&gt;choosenim’s repo&lt;/a&gt; and see there how to re-install it first, before updating Nim.&lt;/p&gt;

&lt;p&gt;Alternatively, you can download Nim 2.2.4 from
&lt;a href=&quot;https://github.com/nim-lang/nightlies/releases/tag/2025-04-22-version-2-2-f7145dd26efeeeb6eeae6fff649db244d81b212d&quot;&gt;our nightlies builds&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;bugfixes&quot;&gt;Bugfixes&lt;/h2&gt;

&lt;h3 id=&quot;nim-224&quot;&gt;Nim 2.2.4&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Fixed “A “divmod” call fails to compile with operands whose types have a non negative lower bound.”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24673&quot;&gt;#24673&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Adding a string to itself causes the resulting length to be off by one”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24664&quot;&gt;#24664&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Invalid &lt;code class=&quot;highlighter-rouge&quot;&gt;=sink&lt;/code&gt; generated for pure inheritable object”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24725&quot;&gt;#24725&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Mangling wrong for &lt;code class=&quot;highlighter-rouge&quot;&gt;static&lt;/code&gt; parameters”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24705&quot;&gt;#24705&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;Error: identifier expected, but found '(0, 0)[0]'&lt;/code&gt; with &lt;code class=&quot;highlighter-rouge&quot;&gt;let _ = &lt;/code&gt; in &lt;code class=&quot;highlighter-rouge&quot;&gt;for _ in r.fields&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24339&quot;&gt;#24339&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;.gcsafe.&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;/code&gt; block breaks move analysis”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24754&quot;&gt;#24754&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Thread local not registed as GC root when &lt;code class=&quot;highlighter-rouge&quot;&gt;=destroy&lt;/code&gt; exists (refc)”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24770&quot;&gt;#24770&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “sign of &lt;code class=&quot;highlighter-rouge&quot;&gt;NaN&lt;/code&gt; differs in CT &amp;amp; RT”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24772&quot;&gt;#24772&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;setjmp&lt;/code&gt; on linux mangles &lt;code class=&quot;highlighter-rouge&quot;&gt;ebp&lt;/code&gt; leading to early collection”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/10625&quot;&gt;#10625&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Invalid C code generation in ORC with methods, a case object, and std/options”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24801&quot;&gt;#24801&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “weird SIGSEV with scopes and seqs”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24806&quot;&gt;#24806&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “macro-generated &lt;code class=&quot;highlighter-rouge&quot;&gt;if&lt;/code&gt;/&lt;code class=&quot;highlighter-rouge&quot;&gt;else&lt;/code&gt; and &lt;code class=&quot;highlighter-rouge&quot;&gt;when&lt;/code&gt;/&lt;code class=&quot;highlighter-rouge&quot;&gt;else&lt;/code&gt; statements have mismatched indentation with &lt;code class=&quot;highlighter-rouge&quot;&gt;repr&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24850&quot;&gt;#24850&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “cross-module &lt;code class=&quot;highlighter-rouge&quot;&gt;sink&lt;/code&gt; analysis broken”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24764&quot;&gt;#24764&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Data getting wiped on copy with iterators and &lt;code class=&quot;highlighter-rouge&quot;&gt;=copy&lt;/code&gt; on refc”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24879&quot;&gt;#24879&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;build_all.sh&lt;/code&gt; koch tools fails to build atlas”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24881&quot;&gt;#24881&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “doc: &lt;code class=&quot;highlighter-rouge&quot;&gt;export&lt;/code&gt; for imported symbols are not generated document.”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24890&quot;&gt;#24890&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The complete list of changes is available &lt;a href=&quot;https://github.com/nim-lang/Nim/compare/v2.2.2...v2.2.4&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3 id=&quot;nim-2016&quot;&gt;Nim 2.0.16&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;static openArray&lt;/code&gt; backed by &lt;code class=&quot;highlighter-rouge&quot;&gt;seq&lt;/code&gt; cannot be passed to another function”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24630&quot;&gt;#24630&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;size&lt;/code&gt; pragma on type used in type imported indirectly results in inconsistent C declarations of type size”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24623&quot;&gt;#24623&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Bad codegen when casting procs”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/5901&quot;&gt;#5901&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Copy hook causes an &lt;code class=&quot;highlighter-rouge&quot;&gt;incompatible-pointer-types&lt;/code&gt; warning/error in GCC 14 with subclassed objects”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24147&quot;&gt;#24147&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Thread local not registed as GC root when &lt;code class=&quot;highlighter-rouge&quot;&gt;=destroy&lt;/code&gt; exists (refc)”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24770&quot;&gt;#24770&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;setjmp&lt;/code&gt; on linux mangles &lt;code class=&quot;highlighter-rouge&quot;&gt;ebp&lt;/code&gt; leading to early collection”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/10625&quot;&gt;#10625&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Invalid C code generation in ORC with methods, a case object, and std/options”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24801&quot;&gt;#24801&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “macro-generated &lt;code class=&quot;highlighter-rouge&quot;&gt;if&lt;/code&gt;/&lt;code class=&quot;highlighter-rouge&quot;&gt;else&lt;/code&gt; and &lt;code class=&quot;highlighter-rouge&quot;&gt;when&lt;/code&gt;/&lt;code class=&quot;highlighter-rouge&quot;&gt;else&lt;/code&gt; statements have mismatched indentation with &lt;code class=&quot;highlighter-rouge&quot;&gt;repr&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24850&quot;&gt;#24850&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The complete list of changes is available &lt;a href=&quot;https://github.com/nim-lang/Nim/compare/v2.0.14...v2.0.16&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
</description>
        <pubDate>Tue, 22 Apr 2025 00:00:00 +0000</pubDate>
        <link>https://nim-lang.org//blog/2025/04/22/nim-224-2016.html</link>
        <guid isPermaLink="true">https://nim-lang.org//blog/2025/04/22/nim-224-2016.html</guid>
        
        
      </item>
    
      <item>
        <title>Nim version 2.2.2 released</title>
        <description>&lt;p&gt;The Nim Team is happy to announce version 2.2.2, the first patch release for our stable release, Nim 2.2.&lt;/p&gt;

&lt;p&gt;It comes four months after the 2.2.0 release and it contains &lt;a href=&quot;https://github.com/nim-lang/Nim/compare/v2.2.0...v2.2.2&quot;&gt;203 commits&lt;/a&gt;, bringing bugfixes and improvements.&lt;/p&gt;

&lt;p&gt;If you’re still on Nim 1.6, take a look at the &lt;a href=&quot;https://nim-lang.org/blog/2023/08/01/nim-v20-released.html&quot;&gt;version 2.0 release article&lt;/a&gt; to see all the features you’re missing.
If you’ve been using Nim 2.0, the &lt;a href=&quot;https://nim-lang.org/blog/2024/10/02/nim-220-2010.html&quot;&gt;version 2.2 release article&lt;/a&gt; shows the improvements available in Nim 2.2.&lt;/p&gt;

&lt;p&gt;The Nim 2.2.2 changelog is available &lt;a href=&quot;https://github.com/nim-lang/Nim/blob/v2.2.2/changelog.md&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;installing-nim-222&quot;&gt;Installing Nim 2.2.2&lt;/h2&gt;

&lt;p&gt;Check out if the package manager of your OS already ships version 2.2.2 or
install it as described &lt;a href=&quot;https://nim-lang.org/install.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you have installed a previous version of Nim using &lt;code class=&quot;highlighter-rouge&quot;&gt;choosenim&lt;/code&gt;,
getting Nim 2.2.2 is as easy as:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;choosenim update self
&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;choosenim update stable
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; Make sure that the version of choosenim you have installed is 0.8.5 or higher, otherwise visit &lt;a href=&quot;https://github.com/nim-lang/choosenim&quot;&gt;choosenim’s repo&lt;/a&gt; and see there how to re-install it first, before updating Nim.&lt;/p&gt;

&lt;p&gt;Alternatively, you can download Nim 2.2.2 from
&lt;a href=&quot;https://github.com/nim-lang/nightlies/releases/tag/2025-02-06-version-2-2-6c34f62785263ad412f662f3e4e4bf8d8751d113&quot;&gt;our nightlies builds&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;bugfixes&quot;&gt;Bugfixes&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Fixed “compiler crash on &lt;code class=&quot;highlighter-rouge&quot;&gt;len&lt;/code&gt; of &lt;code class=&quot;highlighter-rouge&quot;&gt;varargs[untyped]&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24258&quot;&gt;#24258&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Force compiler generate declaration of a type”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/19585&quot;&gt;#19585&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “importc types alias doesn’t work with distinct”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/18896&quot;&gt;#18896&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Seg fault when adding deque element”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24319&quot;&gt;#24319&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Nested iterator doesn’t work in proc”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/3824&quot;&gt;#3824&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “internal error: not part of closure object type”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/19984&quot;&gt;#19984&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Size/Signedness issues with unordered enums”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/23952&quot;&gt;#23952&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Calling proc with nested ref/deref constructed object results in invalid generated code”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/18081&quot;&gt;#18081&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;Error: VM problem: dest register is not set&lt;/code&gt; with &lt;code class=&quot;highlighter-rouge&quot;&gt;const&lt;/code&gt;-bound proc”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24359&quot;&gt;#24359&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “C compiler error when default initializing an object field function when the default function is overloaded”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/23545&quot;&gt;#23545&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;SIGSEGV&lt;/code&gt; with &lt;code class=&quot;highlighter-rouge&quot;&gt;nim c -c&lt;/code&gt; and &lt;code class=&quot;highlighter-rouge&quot;&gt;nim e&lt;/code&gt; on &lt;code class=&quot;highlighter-rouge&quot;&gt;macro w(): untyped = result = genSym(nskType)&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24379&quot;&gt;#24379&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “build failed for lib/pure/selectors via mingw”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24371&quot;&gt;#24371&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;supportsCopyMem&lt;/code&gt; can fail from macro context with tuples”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24378&quot;&gt;#24378&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Stop writing &lt;code class=&quot;highlighter-rouge&quot;&gt;.ndi&lt;/code&gt; files”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24395&quot;&gt;#24395&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Array field that has array-element type with copy-protector and default value set on a field will yield error”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24369&quot;&gt;#24369&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Memory leak under Arc/Orc on inline iterators with nested seq.”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24402&quot;&gt;#24402&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “new-style concept fails to match”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24451&quot;&gt;#24451&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “No error checking on fclose”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/19600&quot;&gt;#19600&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;let&lt;/code&gt; symbol created by template is reused in &lt;code class=&quot;highlighter-rouge&quot;&gt;nimvm&lt;/code&gt; branch “
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24472&quot;&gt;#24472&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “redundant type cast causes errors with VCC”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24476&quot;&gt;#24476&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;asyncdispatch.drain&lt;/code&gt; returns before timeout even if there are pending operations”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24506&quot;&gt;#24506&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “ensureMove usage leading to memory leak for JsonNode !”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24504&quot;&gt;#24504&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “UB calling &lt;code class=&quot;highlighter-rouge&quot;&gt;allocCStringArray([&quot;&quot;])&lt;/code&gt; with &lt;code class=&quot;highlighter-rouge&quot;&gt;--mm:refc&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/22153&quot;&gt;#22153&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;std/pegs&lt;/code&gt; with &lt;code class=&quot;highlighter-rouge&quot;&gt;nim cpp --mm:orc --exceptions:goto&lt;/code&gt; creates invalid C++”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/22101&quot;&gt;#22101&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Word error”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24538&quot;&gt;#24538&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Allow, but warn on, unknown hint/warning names”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/20908&quot;&gt;#20908&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “building nimble 0.16.4 fails when running &lt;code class=&quot;highlighter-rouge&quot;&gt;build_all.sh&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24536&quot;&gt;#24536&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “The compiler optimizes out unused constants marked with the &lt;code class=&quot;highlighter-rouge&quot;&gt;exportc&lt;/code&gt; pragma”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/17681&quot;&gt;#17681&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Asyncdispatch leaks under –mm:arc”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/23212&quot;&gt;#23212&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Nim v2 emit / asm var param dereference inconsistency”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/23114&quot;&gt;#23114&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Incorrect/misleading error message with large &lt;code class=&quot;highlighter-rouge&quot;&gt;array&lt;/code&gt; bounds”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24599&quot;&gt;#24599&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;static openArray&lt;/code&gt; backed by &lt;code class=&quot;highlighter-rouge&quot;&gt;seq&lt;/code&gt; cannot be passed to another function”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24630&quot;&gt;#24630&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;size&lt;/code&gt; pragma on type used in type imported indirectly results in inconsistent C declarations of type size”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24623&quot;&gt;#24623&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “nimsuggest “outline” output does not list templates”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/21923&quot;&gt;#21923&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “cpp compilation failure on Nim 2.2.x.”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24658&quot;&gt;#24658&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The complete list of changes is available &lt;a href=&quot;https://github.com/nim-lang/Nim/compare/v2.2.0...v2.2.2&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
</description>
        <pubDate>Wed, 05 Feb 2025 00:00:00 +0000</pubDate>
        <link>https://nim-lang.org//blog/2025/02/05/nim-222.html</link>
        <guid isPermaLink="true">https://nim-lang.org//blog/2025/02/05/nim-222.html</guid>
        
        
      </item>
    
      <item>
        <title>Nim Community Survey 2024 Results</title>
        <description>&lt;p&gt;The Nim community survey 2024 has been open for two months, and we have received 367 responses – less than in previous years, but we’ll still try to draw conclusions about our users and their habits.
Before we go into details, we would like to thank all the people who took the time to respond.
We really appreciate the feedback!&lt;/p&gt;

&lt;p&gt;The goal of this survey was primarily to determine how our community is using Nim, in order to better understand how we should be improving it.&lt;/p&gt;

&lt;h2 id=&quot;do-you-use-nim&quot;&gt;Do you use Nim?&lt;/h2&gt;

&lt;p&gt;Based on the answer to this question, the respondents were divided into two groups that each received a separate set of questions.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/news/images/survey2024/01.png&quot; alt=&quot;Do you use Nim?&quot; style=&quot;width:100%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Approximately three quarters of the respondents use Nim (40% frequently, 36% occasionally), while the remaining quarter is divided between people who never used Nim (7%) and people who stopped using Nim (17%).&lt;/p&gt;

&lt;p&gt;Of those people who &lt;em&gt;don’t&lt;/em&gt; use Nim, the most frequent reasons are: “Nim seems immature, not ready for production”, “Nim doesn’t have libraries I need”,”Nim doesn’t have enough learning materials”, and “Nim seems too risky for production”, in that order.&lt;/p&gt;

&lt;h2 id=&quot;users&quot;&gt;Users&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/assets/news/images/survey2024/02.png&quot; alt=&quot;How long have you been using Nim?&quot; style=&quot;width:100%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Compared to the &lt;a href=&quot;/assets/news/images/survey2023/02.png&quot;&gt;response from last year&lt;/a&gt;, our user-base has more Nim experience than before.
With 57% of users who are using Nim for at least two years and only 15% new users (using Nim less than a year), it seems that we’re not attracting enough new users.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/news/images/survey2024/03.png&quot; alt=&quot;Where are you from?&quot; style=&quot;width:100%&quot; /&gt;
&lt;img src=&quot;/assets/news/images/survey2024/04.png&quot; alt=&quot;What is your occupation?&quot; style=&quot;width:100%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A typical Nim user, just as in previous years, would be a software developer from Europe.&lt;/p&gt;

&lt;p&gt;Besides Europe (more than half of our users), our users mostly come from North America and Asia.
We see a slight decline of software developers (41% vs 49% &lt;a href=&quot;/assets/news/images/survey2023/04.png&quot;&gt;last year&lt;/a&gt;), while there is an increase of freelancers and business owners.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/news/images/survey2024/05.png&quot; alt=&quot;In what age group are you?&quot; style=&quot;width:100%&quot; /&gt;
&lt;img src=&quot;/assets/news/images/survey2024/06.png&quot; alt=&quot;How many years of programming experience do you have?&quot; style=&quot;width:100%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We have users from all age groups and all levels of programming experience, proving that Nim can be used both by beginners and veteran programmers.&lt;/p&gt;

&lt;p&gt;Similar to &lt;a href=&quot;/assets/news/images/survey2023/05.png&quot;&gt;last year&lt;/a&gt;, 33% Nim users are older than 40, 18% younger than 24.
The experience is also similar to &lt;a href=&quot;/assets/news/images/survey2023/06.png&quot;&gt;last year&lt;/a&gt;: 55% users having at least 10 years of experience and just 6% users with less than 2 years of experience.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/news/images/survey2024/07.png&quot; alt=&quot;What are the technical aspects or features of Nim you like the most?&quot; style=&quot;width:100%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Same as &lt;a href=&quot;/assets/news/images/survey2023/07.png&quot;&gt;previously&lt;/a&gt;, things that people like about Nim the most are: performance/speed and syntax, syntax, ease of use, and self-contained binaries.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/news/images/survey2024/08.png&quot; alt=&quot;What editor(s) do you use when writing Nim?&quot; style=&quot;width:100%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;VS Code continues to dominate.
In the second place is Vim/Neovim, followed by Sublime Text, Emacs and IntelliJ.&lt;/p&gt;

&lt;h2 id=&quot;nim-versions&quot;&gt;Nim versions&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/assets/news/images/survey2024/09.png&quot; alt=&quot;Which version(s) of Nim do you use?&quot; style=&quot;width:100%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We’re glad to see that the large majority of users are using the latest stable version (2.2.x).&lt;/p&gt;

&lt;p&gt;We can partially attribute this to the mostly painless upgrade process:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/news/images/survey2024/10.png&quot; alt=&quot;Has upgrading to a new version of the Nim compiler broken your code? How much work did it take to fix it?&quot; style=&quot;width:100%&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;using-nim&quot;&gt;Using Nim&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/assets/news/images/survey2024/11.png&quot; alt=&quot;Roughly, what percentage of the programming work you do is in Nim?&quot; style=&quot;width:100%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The upward trend &lt;a href=&quot;/assets/news/images/survey2023/11.png&quot;&gt;started the last year&lt;/a&gt; is continuing – more than 28% of our respondents use Nim for the majority of time (60% or more), which is a 40% increase from last year’s 20% (and it was just 16% the year before).&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/news/images/survey2024/14.png&quot; alt=&quot;Do you use Nim at work?&quot; style=&quot;width:100%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Although the numbers are low, we are seeing an upward trend: slightly more users are using Nim at work than previously.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/news/images/survey2024/13.png&quot; alt=&quot;What platforms are you targeting?&quot; style=&quot;width:100%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The change from &lt;a href=&quot;/assets/news/images/survey2023/13.png&quot;&gt;2023 responses&lt;/a&gt; is that embedded is now ahead of JavaScript.&lt;/p&gt;

&lt;h2 id=&quot;learning-nim&quot;&gt;Learning Nim&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/assets/news/images/survey2024/17.png&quot; alt=&quot;If you started using Nim in last two years (2023 and 2024), what learning resources, if any, did you use to learn Nim?&quot; style=&quot;width:100%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This year we only wanted to see the responses of Nim-newcomers, to see what learning materials are still “fresh” and still used in 2024, but from the amount of responses we see that even some our more experienced users answered this question :)&lt;/p&gt;

&lt;p&gt;The most popular learning resource are &lt;a href=&quot;https://nim-lang.org/docs/tut1.html&quot;&gt;the official tutorials&lt;/a&gt;, followed by &lt;a href=&quot;https://nim-by-example.github.io/getting_started/&quot;&gt;“Nim by Example”&lt;/a&gt;.
&lt;a href=&quot;https://narimiran.github.io/nim-basics/&quot;&gt;“Nim Basics”&lt;/a&gt; is in the third place, surpassing &lt;a href=&quot;https://book.picheta.me&quot;&gt;“Nim in Action”&lt;/a&gt; and &lt;a href=&quot;https://www.amazon.com/dp/B0B4R7B9YX&quot;&gt;“Mastering Nim”&lt;/a&gt; books. 
&lt;a href=&quot;http://rosettacode.org/wiki/Category:Nim&quot;&gt;Rosetta Code examples&lt;/a&gt; is also a popular choice as a learning resource&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/news/images/survey2024/18.png&quot; alt=&quot;What kind of additional learning materials does Nim need?&quot; style=&quot;width:100%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Just like in &lt;a href=&quot;/assets/news/images/survey2023/18.png&quot;&gt;the previous survey&lt;/a&gt;, the most wanted types of learning materials are code examples and written tutorials.&lt;/p&gt;

&lt;p&gt;If someone in our community is willing to work on Nim, but has no idea &lt;em&gt;what&lt;/em&gt; to do, these tutorials would be a good start.&lt;/p&gt;

&lt;h2 id=&quot;nim-in-2025-and-beyond&quot;&gt;Nim in 2025 and beyond&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/assets/news/images/survey2024/23.png&quot; alt=&quot;What should be our priorities in improving Nim, that would bring the largest quality-of-life improvements? [improve tooling]&quot; style=&quot;width:100%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Each year improving the tooling is getting more and more votes, and this year it has become the top priority to fix, according to our users.&lt;/p&gt;

&lt;p&gt;Thanks to our partnership with &lt;a href=&quot;https://status.im&quot;&gt;Status&lt;/a&gt;, it is one of our main priorities for 2025.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/news/images/survey2024/21.png&quot; alt=&quot;What should be our priorities in improving Nim, that would bring the largest quality-of-life improvements? [fixing compiler bugs]&quot; style=&quot;width:100%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Similar to the last year, 2/3 of our users find it very important to work on the compiler bugs.
We will continue to work on it, and we appreciate any community effort on this: we already have several individuals continuously helping us with fixing compiler bugs (thank you!), and we’d benefit from more.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/news/images/survey2024/20.png&quot; alt=&quot;What should be our priorities in improving Nim, that would bring the largest quality-of-life improvements? [documentation]&quot; style=&quot;width:100%&quot; /&gt;
&lt;img src=&quot;/assets/news/images/survey2024/26.png&quot; alt=&quot;What should be our priorities in improving Nim, that would bring the largest quality-of-life improvements? [more learning materials (tutorials, videos, books, ...)]&quot; style=&quot;width:100%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;These results are slightly better than last year (&lt;a href=&quot;/assets/news/images/survey2023/20.png&quot;&gt;documentation 2021&lt;/a&gt;, &lt;a href=&quot;/assets/news/images/survey2023/26.png&quot;&gt;learning materials 2021&lt;/a&gt;).
When it comes to learning materials, where we mostly lean on the community content (for this to improve we need your involvement!), people want to see more written tutorials and code examples.&lt;/p&gt;

&lt;h2 id=&quot;last-words&quot;&gt;Last words&lt;/h2&gt;

&lt;p&gt;Thank you to each and every one of you who took the time to answer this survey.
Your time is precious and we are deeply thankful that you used it to share your feedback.&lt;/p&gt;

&lt;p&gt;Please remember that you do not need to wait for a survey in order to give us feedback; of course you’re more than welcome to wait if you wish, but ideally share your feedback with us immediately.
We can be found in various places - see &lt;a href=&quot;https://nim-lang.org/community.html&quot;&gt;the community page&lt;/a&gt; for links and instructions on how to get in touch.&lt;/p&gt;

&lt;p&gt;If you would like to help us in our 2025 plans, consider &lt;a href=&quot;https://github.com/nim-lang/Nim&quot;&gt;contributing&lt;/a&gt; or making a donation.
You can donate via &lt;a href=&quot;https://opencollective.com/nim&quot;&gt;Open Collective&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you are a company, we also offer commercial support. Please get in
touch with us via &lt;a href=&quot;mailto:support@nim-lang.org&quot;&gt;support@nim-lang.org&lt;/a&gt;. As a commercial backer, you
can decide what features and bugfixes should be prioritized.&lt;/p&gt;
</description>
        <pubDate>Thu, 23 Jan 2025 00:00:00 +0000</pubDate>
        <link>https://nim-lang.org//blog/2025/01/23/community-survey-results-2024.html</link>
        <guid isPermaLink="true">https://nim-lang.org//blog/2025/01/23/community-survey-results-2024.html</guid>
        
        
      </item>
    
      <item>
        <title>Nim version 2.0.14 released</title>
        <description>&lt;p&gt;The Nim team is happy to announce Nim version 2.0.14, our seventh patch release for Nim 2.0,
for our users who haven’t switched yet to &lt;a href=&quot;https://nim-lang.org/blog/2024/10/02/nim-220-2010.html&quot;&gt;Nim 2.2&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Version 2.0.14 contains &lt;a href=&quot;https://github.com/nim-lang/Nim/compare/v2.0.12...v2.0.14&quot;&gt;40 commits&lt;/a&gt;, and it brings several improvements to Nim 2.0.12, released two months ago.&lt;/p&gt;

&lt;h2 id=&quot;installing-nim-2014&quot;&gt;Installing Nim 2.0.14&lt;/h2&gt;

&lt;p&gt;If you have installed a previous version of Nim using &lt;code class=&quot;highlighter-rouge&quot;&gt;choosenim&lt;/code&gt;,
getting Nim 2.0.14 is as easy as:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;choosenim update self
&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;choosenim 2.0.14
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Make sure that the version of choosenim you have installed is 0.8.5 or higher, otherwise visit &lt;a href=&quot;https://github.com/nim-lang/choosenim&quot;&gt;choosenim’s repo&lt;/a&gt; and see there how to re-install it first, before updating Nim.&lt;/p&gt;

&lt;p&gt;Alternatively, you can download Nim 2.0.14 from
&lt;a href=&quot;https://github.com/nim-lang/nightlies/releases/tag/2024-12-23-version-2-0-bf4de6a394e040d9810cba8c69fb2829ff04dcc6&quot;&gt;our nightlies builds&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;nim-community-survey-2024&quot;&gt;Nim Community Survey 2024&lt;/h2&gt;

&lt;p&gt;We would like to remind you about &lt;a href=&quot;https://nim-lang.org/blog/2024/12/09/community-survey-2024.html&quot;&gt;Nim Community Survey&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you haven’t participated yet, now’s the time.
It shouldn’t take more than 5 minutes, and it helps us to make Nim better.&lt;/p&gt;

&lt;h2 id=&quot;bugfixes&quot;&gt;Bugfixes&lt;/h2&gt;

&lt;p&gt;These reported issues were fixed:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Fixed “ensureMove usage leading to memory leak for JsonNode !”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24504&quot;&gt;#24504&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “UB calling &lt;code class=&quot;highlighter-rouge&quot;&gt;allocCStringArray([&quot;&quot;])&lt;/code&gt; with &lt;code class=&quot;highlighter-rouge&quot;&gt;--mm:refc&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/22153&quot;&gt;#22153&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Regression when using generic type with Table/OrderedTable”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/23233&quot;&gt;#23233&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Wrong C code generated for newSeqWith when initializing two variables”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/18104&quot;&gt;#18104&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Wrong behaviour when wrapping a constant  object variant into a sequence at runtime”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/23295&quot;&gt;#23295&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Invalid C code generated for &lt;code class=&quot;highlighter-rouge&quot;&gt;lent array&lt;/code&gt; in &lt;code class=&quot;highlighter-rouge&quot;&gt;tuple&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24034&quot;&gt;#24034&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Seg fault when adding deque element”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24319&quot;&gt;#24319&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “C compiler error when default initializing an object field function when the default function is overloaded”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/23545&quot;&gt;#23545&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “build failed for lib/pure/selectors via mingw”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24371&quot;&gt;#24371&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Calling proc with nested ref/deref constructed object results in invalid generated code”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/18081&quot;&gt;#18081&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;let&lt;/code&gt; symbol created by template is reused in &lt;code class=&quot;highlighter-rouge&quot;&gt;nimvm&lt;/code&gt; branch “
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24472&quot;&gt;#24472&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “building nimble 0.16.4 fails when running &lt;code class=&quot;highlighter-rouge&quot;&gt;build_all.sh&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24536&quot;&gt;#24536&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The complete list of changes is available
&lt;a href=&quot;https://github.com/nim-lang/Nim/compare/v2.0.12...v2.0.14&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
</description>
        <pubDate>Tue, 24 Dec 2024 00:00:00 +0000</pubDate>
        <link>https://nim-lang.org//blog/2024/12/24/nim-2014-released.html</link>
        <guid isPermaLink="true">https://nim-lang.org//blog/2024/12/24/nim-2014-released.html</guid>
        
        
      </item>
    
      <item>
        <title>Launching the 2024 Nim Community Survey</title>
        <description>&lt;p&gt;We are proud to announce the launch of the official
&lt;a href=&quot;https://forms.gle/s6WomUFyUANijhrL6&quot;&gt;2024 Nim Community Survey&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;
  &lt;a class=&quot;pure-button pure-button-primary&quot; style=&quot;font-size: 85%; display: inline-block;&quot; href=&quot;https://forms.gle/s6WomUFyUANijhrL6&quot; target=&quot;_blank&quot;&gt;
  Answer Survey
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;It shouldn’t take you much longer than 5 minutes to complete this survey.
Submissions will be accepted until the start of 2025, depending on the
response rates.
If you have any questions or feedback, please don’t hesitate
to get in touch with us via email at survey@nim-lang.org or on the
&lt;a href=&quot;https://forum.nim-lang.org&quot;&gt;Nim Forum&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This is now the eight year in which this survey has been running.
An analysis of the results for the past years can be found at the following links:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://nim-lang.org/blog/2016/09/03/community-survey-results-2016.html&quot;&gt;2016&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://nim-lang.org/blog/2017/10/01/community-survey-results-2017.html&quot;&gt;2017&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://nim-lang.org/blog/2018/10/27/community-survey-results-2018.html&quot;&gt;2018&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://nim-lang.org/blog/2020/02/18/community-survey-results-2019.html&quot;&gt;2019&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://nim-lang.org/blog/2021/01/20/community-survey-results-2020.html&quot;&gt;2020&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://nim-lang.org/blog/2022/01/14/community-survey-results-2021.html&quot;&gt;2021&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://nim-lang.org/blog/2024/01/31/community-survey-results-2023.html&quot;&gt;2023&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We would appreciate your help in spreading the word about this survey.
Share the Google Forms link on your social network feeds, with your colleagues
and in other communities.&lt;/p&gt;

&lt;p&gt;Once the submission period ends, the results will be shown here and publicized
via the Nim Forum.&lt;/p&gt;

&lt;p&gt;Thanks for your time!&lt;/p&gt;
</description>
        <pubDate>Mon, 09 Dec 2024 00:00:00 +0000</pubDate>
        <link>https://nim-lang.org//blog/2024/12/09/community-survey-2024.html</link>
        <guid isPermaLink="true">https://nim-lang.org//blog/2024/12/09/community-survey-2024.html</guid>
        
        
      </item>
    
      <item>
        <title>Nim version 2.0.12 released</title>
        <description>&lt;p&gt;The Nim team is happy to announce Nim version 2.0.12, our sixth patch release for Nim 2.0,
for our users who haven’t switched yet to &lt;a href=&quot;https://nim-lang.org/blog/2024/10/02/nim-220-2010.html&quot;&gt;Nim 2.2&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Version 2.0.12 is a small release, containing just &lt;a href=&quot;https://github.com/nim-lang/Nim/compare/v2.0.10...v2.0.12&quot;&gt;24 commits&lt;/a&gt;, but it brings several improvements to Nim 2.0.10, released a month ago.&lt;/p&gt;

&lt;h2 id=&quot;installing-nim-2012&quot;&gt;Installing Nim 2.0.12&lt;/h2&gt;

&lt;p&gt;If you have installed a previous version of Nim using &lt;code class=&quot;highlighter-rouge&quot;&gt;choosenim&lt;/code&gt;,
getting Nim 2.0.12 is as easy as:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;choosenim update self
&lt;span class=&quot;gp&quot;&gt;$ &lt;/span&gt;choosenim 2.0.12
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Make sure that the version of choosenim you have installed is 0.8.5 or higher, otherwise visit &lt;a href=&quot;https://github.com/nim-lang/choosenim&quot;&gt;choosenim’s repo&lt;/a&gt; and see there how to re-install it first, before updating Nim.&lt;/p&gt;

&lt;p&gt;Alternatively, you can download Nim 2.0.12 from
&lt;a href=&quot;https://github.com/nim-lang/nightlies/releases/tag/2024-11-01-version-2-0-ce7c6f4f3365db2cc63bdd9d460c71ed937ee9e9&quot;&gt;our nightlies builds&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;donating-to-nim&quot;&gt;Donating to Nim&lt;/h2&gt;

&lt;p&gt;We would like to encourage you to donate to Nim.
The donated money will be used to further improve Nim by creating bounties
for the most important bugfixes and features.&lt;/p&gt;

&lt;p&gt;You can donate via:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://opencollective.com/nim&quot;&gt;Open Collective&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Bitcoin: &lt;code class=&quot;highlighter-rouge&quot;&gt;1BXfuKM2uvoD6mbx4g5xM3eQhLzkCK77tJ&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you are a company, we also offer commercial support.&lt;/p&gt;

&lt;h2 id=&quot;bugfixes&quot;&gt;Bugfixes&lt;/h2&gt;

&lt;p&gt;These reported issues were fixed:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Fixed “dist/checksums wrong type: preventing build_all.sh”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24173&quot;&gt;#24173&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Regression: compiler crash on static inference”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/23755&quot;&gt;#23755&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Regression: Error: fatal error: invalid kind for lastOrd(tyGenericParam)”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/23823&quot;&gt;#23823&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “compiler crash on &lt;code class=&quot;highlighter-rouge&quot;&gt;len&lt;/code&gt; of &lt;code class=&quot;highlighter-rouge&quot;&gt;varargs[untyped]&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24258&quot;&gt;#24258&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;Error: VM problem: dest register is not set&lt;/code&gt; with &lt;code class=&quot;highlighter-rouge&quot;&gt;const&lt;/code&gt;-bound proc”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24359&quot;&gt;#24359&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “Returning address of constant array emits invalid C code”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/22389&quot;&gt;#22389&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Fixed “&lt;code class=&quot;highlighter-rouge&quot;&gt;SIGSEGV&lt;/code&gt; with &lt;code class=&quot;highlighter-rouge&quot;&gt;nim c -c&lt;/code&gt; and &lt;code class=&quot;highlighter-rouge&quot;&gt;nim e&lt;/code&gt; on &lt;code class=&quot;highlighter-rouge&quot;&gt;macro w(): untyped = result = genSym(nskType)&lt;/code&gt;”
(&lt;a href=&quot;https://github.com/nim-lang/Nim/issues/24379&quot;&gt;#24379&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The complete list of changes is available
&lt;a href=&quot;https://github.com/nim-lang/Nim/compare/v2.0.10...v2.0.12&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
</description>
        <pubDate>Fri, 01 Nov 2024 00:00:00 +0000</pubDate>
        <link>https://nim-lang.org//blog/2024/11/01/nim-2012-released.html</link>
        <guid isPermaLink="true">https://nim-lang.org//blog/2024/11/01/nim-2012-released.html</guid>
        
        
      </item>
    
  </channel>
</rss>
