diff --git a/CHANGELOG.md b/CHANGELOG.md
index cfdbece..ea4d93d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,10 +10,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 ### Changed
 
 - OpenMP model version increased to 1.2.0.
+- nOS-V model version increased to 2.5.0.
 
 ### Added
 
 - Add support OpenMP label and task ID views.
+- Add support for nOS-V non-blocking scheduler server events (`VSN` and `VSn`).
 
 ## [1.11.0] - 2024-11-08
 
diff --git a/doc/user/emulation/events.md b/doc/user/emulation/events.md
index 2540cba..4f58c1e 100644
--- a/doc/user/emulation/events.md
+++ b/doc/user/emulation/events.md
@@ -1,7 +1,7 @@
 # Emulator events
 
 This is a exhaustive list of the events recognized by the emulator.
-Built on Nov 13 2024.
+Built on Mar 20 2025.
 
 ## Model nanos6
 
@@ -633,7 +633,7 @@ List of events for the model *tampi* with identifier **`T`** at version `1.0.0`:
 
 ## Model nosv
 
-List of events for the model *nosv* with identifier **`V`** at version `2.4.0`:
+List of events for the model *nosv* with identifier **`V`** at version `2.5.0`:
 
 - VTc(u32 taskid, u32 typeid) 
- creates task %{taskid} with type %{typeid}@@ -660,9 +660,13 @@ List of events for the model *nosv* with identifier **`V`** at version `2.4.0`:
- VSf 
- is no longer hungry
- VS[ 
-- enters scheduler server mode+
- enters scheduler server blocking mode
- VS] 
-- leaves scheduler server mode+
- leaves scheduler server blocking mode+
- VSN 
+- enters scheduler server non-blocking mode+
- VSn 
+- leaves scheduler server non-blocking mode
- VU[ 
- starts submitting a task
- VU] 
diff --git a/doc/user/emulation/versions.md b/doc/user/emulation/versions.md
index 2879fea..3ed6bf2 100644
--- a/doc/user/emulation/versions.md
+++ b/doc/user/emulation/versions.md
@@ -43,8 +43,10 @@ Track changes in emulator model versions.
 
 ## nOS-V
 
+- nosv 2.5.0
+    - Add support for non-blocking scheduler server events `VS{Nn}`.
 - nosv 2.4.0
-    - Add support for `nosv_cond_wait`, `nosv_cond_signal` and `nosv_cond_broadcast` events VA{oOgGkK}.
+    - Add support for `nosv_cond_wait`, `nosv_cond_signal` and `nosv_cond_broadcast` events `VA{oOgGkK}`.
 - nosv 2.3.0
     - Add `nosv.can_breakdown` attribute to metadata for breakdown checks.
 - nosv 2.2.0
diff --git a/src/emu/nosv/event.c b/src/emu/nosv/event.c
index 9c7db91..4139187 100644
--- a/src/emu/nosv/event.c
+++ b/src/emu/nosv/event.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2021-2024 Barcelona Supercomputing Center (BSC)
+/* Copyright (c) 2021-2025 Barcelona Supercomputing Center (BSC)
  * SPDX-License-Identifier: GPL-3.0-or-later */
 
 #include "nosv_priv.h"
@@ -26,6 +26,8 @@ static const int ss_table[256][256][3] = {
 		['f'] = { CHSS, POP,  ST_SCHED_HUNGRY },
 		['['] = { CHSS, PUSH, ST_SCHED_SERVING },
 		[']'] = { CHSS, POP,  ST_SCHED_SERVING },
+		['N'] = { CHSS, PUSH, ST_SCHED_SERVING }, /* Non-block */
+		['n'] = { CHSS, POP,  ST_SCHED_SERVING },
 		['@'] = { CHSS, IGN,  -1 },
 		['r'] = { CHSS, IGN,  -1 },
 		['s'] = { CHSS, IGN,  -1 },
diff --git a/src/emu/nosv/setup.c b/src/emu/nosv/setup.c
index d694eea..6d8babc 100644
--- a/src/emu/nosv/setup.c
+++ b/src/emu/nosv/setup.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2021-2024 Barcelona Supercomputing Center (BSC)
+/* Copyright (c) 2021-2025 Barcelona Supercomputing Center (BSC)
  * SPDX-License-Identifier: GPL-3.0-or-later */
 
 #include "nosv_priv.h"
@@ -46,7 +46,8 @@ static struct ev_decl model_evlist[] = {
 	{ "VS@", "self assigns itself a task" },
 	{ "VSh", "enters the hungry state, waiting for work" },
 	{ "VSf", "is no longer hungry" },
-	PAIR_E("VS[", "VS]", "scheduler server mode")
+	PAIR_E("VS[", "VS]", "scheduler server blocking mode")
+	PAIR_E("VSN", "VSn", "scheduler server non-blocking mode")
 
 	PAIR_S("VU[", "VU]", "submitting a task")
 	PAIR_S("VMa", "VMA", "allocating memory")
@@ -85,7 +86,7 @@ static struct ev_decl model_evlist[] = {
 
 struct model_spec model_nosv = {
 	.name    = model_name,
-	.version = "2.4.0",
+	.version = "2.5.0",
 	.evlist  = model_evlist,
 	.model   = model_id,
 	.create  = model_nosv_create,