惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
V
Visual Studio Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
The Cloudflare Blog
博客园 - 【当耐特】
博客园 - 叶小钗
量子位
博客园 - 聂微东
S
SegmentFault 最新的问题
美团技术团队
Hugging Face - Blog
Hugging Face - Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
宝玉的分享
宝玉的分享
小众软件
小众软件
罗磊的独立博客
有赞技术团队
有赞技术团队
Stack Overflow Blog
Stack Overflow Blog

Nim Programming Language

Nim version 2.2.12 released NimConf 2026: Dates Announced, Registrations Open Nim version 2.2.8 released Nim version 2.2.6 released Nim versions 2.2.4 and 2.0.16 released Nim version 2.2.2 released Nim Community Survey 2024 Results Nim version 2.0.14 released Launching the 2024 Nim Community Survey Nim version 2.0.12 released NimConf 2024 - Nim Online Conference
Nim version 2.2.10 released
2026-04-24 · via Nim Programming Language

24 April 2026 The Nim Team

The Nim Team is happy to announce version 2.2.10, the fifth patch release for our stable release, Nim 2.2.

It comes two months after the 2.2.8 release and it contains 76 commits, bringing bugfixes and improvements.

If you’re still on Nim 1.6, take a look at the version 2.0 release article to see all the features you’re missing. If you’ve been using Nim 2.0, the version 2.2 release article shows the improvements available in Nim 2.2.

The Nim 2.2.10 changelog is available here.

NimConf 2026

We would like to remind you about NimConf 2026. If you have anything you would like to share with the Nim community, you have two more weeks (until May 10th) to submit your talk proposal. More details available here.

Installing Nim 2.2.10

Check out if the package manager of your OS already ships version 2.2.10 or install it as described here.

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

$ choosenim update self
$ choosenim update stable

NOTE: We recommend that you install and use the latest version of choosenim, v0.8.16, available in our choosenim repo.

Alternatively, you can download Nim 2.2.10 from our nightlies builds.

Bugfixes

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

The complete list of changes is available here.