diff --git a/CHANGELOG.md b/CHANGELOG.md
index 398f6eb9..5b311d23 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
# Changelog
+### Changelog 2.03
+
+- Add OFW 3.74 support
+
### Changelog 2.02
- Reverted PSM refresh due to crashes.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 44c00a3c..4bcec412 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -14,7 +14,7 @@ project(VitaShell)
include("${VITASDK}/share/vita.cmake" REQUIRED)
set(VITA_APP_NAME "VitaShell")
set(VITA_TITLEID "VITASHELL")
-set(VITA_VERSION "02.02")
+set(VITA_VERSION "02.03")
# Flags and includes
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3 -Wno-unused-variable -Wno-unused-but-set-variable -Wno-format-truncation -fno-lto")
diff --git a/main.h b/main.h
index b080e657..7cc7328f 100644
--- a/main.h
+++ b/main.h
@@ -54,7 +54,7 @@
// VitaShell version major.minor
#define VITASHELL_VERSION_MAJOR 0x02
-#define VITASHELL_VERSION_MINOR 0x00
+#define VITASHELL_VERSION_MINOR 0x03
#define VITASHELL_VERSION ((VITASHELL_VERSION_MAJOR << 0x18) | (VITASHELL_VERSION_MINOR << 0x10))
diff --git a/modules/kernel/main.c b/modules/kernel/main.c
index 69fbb181..b6903720 100644
--- a/modules/kernel/main.c
+++ b/modules/kernel/main.c
@@ -168,6 +168,7 @@ int _shellKernelMountById(ShellMountIdArgs *args) {
case 0xF7846B4E: // 3.71 retail
case 0xA8E80BA8: // 3.72 retail
case 0xB299D195: // 3.73 retail
+ case 0x30007BD3: // 3.74 retail
module_get_offset(KERNEL_PID, tai_info.modid, 0, 0x2DE9, (uintptr_t *)&sceAppMgrFindProcessInfoByPid);
module_get_offset(KERNEL_PID, tai_info.modid, 0, 0x19E95, (uintptr_t *)&sceAppMgrMountById);
break;
@@ -286,6 +287,7 @@ int module_start(SceSize args, void *argp) {
case 0xF2D59083: // 3.71 retail
case 0x9C16D40A: // 3.72 retail
case 0xF7794A6C: // 3.73 retail
+ case 0x796DAFAF: // 3.74 retail
module_get_offset(KERNEL_PID, info.modid, 0, 0x18735, (uintptr_t *)&sceIoFindMountPoint);
break;
diff --git a/modules/patch/main.c b/modules/patch/main.c
index ed63c7eb..cfe8a082 100644
--- a/modules/patch/main.c
+++ b/modules/patch/main.c
@@ -51,6 +51,7 @@ int module_start(SceSize args, void *argp) {
case 0xF7846B4E: // 3.71 retail
case 0xA8E80BA8: // 3.72 retail
case 0xB299D195: // 3.73 retail
+ case 0x30007BD3: // 3.74 retail
hooks[0] = taiInjectDataForKernel(KERNEL_PID, info.modid, 0, 0xB34C, &nop_nop_opcode, 4);
hooks[1] = taiInjectDataForKernel(KERNEL_PID, info.modid, 0, 0xB37C, &nop_nop_opcode, 2);
break;
diff --git a/pkg/sce_sys/livearea/contents/template.xml b/pkg/sce_sys/livearea/contents/template.xml
index b2e62a7f..230fe521 100644
--- a/pkg/sce_sys/livearea/contents/template.xml
+++ b/pkg/sce_sys/livearea/contents/template.xml
@@ -28,7 +28,7 @@
- v2.02
+ v2.03
diff --git a/release/template.xml b/release/template.xml
index b2e62a7f..230fe521 100644
--- a/release/template.xml
+++ b/release/template.xml
@@ -28,7 +28,7 @@
- v2.02
+ v2.03