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

推荐订阅源

Google DeepMind News
Google DeepMind News
博客园 - 聂微东
Vercel News
Vercel News
aimingoo的专栏
aimingoo的专栏
F
Fortinet All Blogs
Microsoft Security Blog
Microsoft Security Blog
MongoDB | Blog
MongoDB | Blog
B
Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
WordPress大学
WordPress大学
Apple Machine Learning Research
Apple Machine Learning Research
阮一峰的网络日志
阮一峰的网络日志
大猫的无限游戏
大猫的无限游戏
GbyAI
GbyAI
Martin Fowler
Martin Fowler
M
MIT News - Artificial intelligence
The GitHub Blog
The GitHub Blog
博客园_首页
博客园 - 叶小钗
腾讯CDC
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
宝玉的分享
宝玉的分享
D
Docker

Nim Programming Language

Nim version 2.2.12 released Nim version 2.2.10 released NimConf 2026: Dates Announced, Registrations Open 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.8 released
2026-02-23 · via Nim Programming Language

23 February 2026 The Nim Team

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

It comes four months after the 2.2.6 release and it contains 89 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.8 changelog is available here.

Highlights

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 -d:useMalloc is required might be beyond us. Please give us feedback!

Installing Nim 2.2.8

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

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

$ choosenim update self
$ choosenim update stable

NOTE: We recommend you to install and use the latest version of choosenim, v.0.8.16, available in our choosenim repo.

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

Bugfixes

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