diff --git a/_servicedata b/_servicedata
index 2b14fc9..507b187 100644
--- a/_servicedata
+++ b/_servicedata
@@ -5,4 +5,4 @@
https://github.com/RPCS3/rpcs3.git
- f51b100a8c8ca04b733f4e3d1755b9dc22f12345
\ No newline at end of file
+ dff7352e2eca04ebdddff21e44c1130dcc13f0aa
\ No newline at end of file
diff --git a/intel-ittapi.tar.xz b/intel-ittapi.tar.xz
index 5fca3ac..03f7528 100644
--- a/intel-ittapi.tar.xz
+++ b/intel-ittapi.tar.xz
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:7b760568b9699cb3a411dc71d4b24dd8934c58b8fcd89951969950aaa5b36619
-size 129960
+oid sha256:393c23f9de0f7f5b689ff37ab5018596e2efef6e1c082cf103410d4670e0d7bb
+size 130908
diff --git a/rpcs3-0.0.31~git20240409.tar.xz b/rpcs3-0.0.31~git20240409.tar.xz
deleted file mode 100644
index 8cbb3ac..0000000
--- a/rpcs3-0.0.31~git20240409.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d1457469113cb335ed960702202537aba93bcb40626657fc32324178cb1a1e96
-size 33244916
diff --git a/rpcs3-0.0.31~git20240420.tar.xz b/rpcs3-0.0.31~git20240420.tar.xz
new file mode 100644
index 0000000..cb671bb
--- /dev/null
+++ b/rpcs3-0.0.31~git20240420.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c40c48f5d4871d67fed097853046a4be70083d8a5214a04439da28042d388374
+size 33251808
diff --git a/rpcs3.changes b/rpcs3.changes
index d07c67d..1fc8364 100644
--- a/rpcs3.changes
+++ b/rpcs3.changes
@@ -1,3 +1,72 @@
+-------------------------------------------------------------------
+Sat Apr 20 04:41:58 UTC 2024 - i@guoyunhe.me
+
+- Update to version 0.0.31~git20240420:
+ * llvm: silence warning: dereferencing type-punned pointer might break strict-aliasing rules [-Wstrict-aliasing]
+ * cellSysutilAvc2MicRead: Fix some nonsensical nullptr deref warning
+ * cellKb: fix missing slashes and brackets on japanese layout
+ * cellKb: actually set the arrange member
+ * Use unordered map to store keyboard keys
+ * SPU Analyzer: Filter calls to calls
+ * PPU Analyzer: Look for functions using callers (fallback)
+ * PPU LLVM: Fix crash in Unity games
+ * savestate_utils.cpp: Fixup a tiny bug
+ * Qt: try to fix sound effects
+ * overlays/osk: Don't use meta out key code in the osk overlay
+ * fix some warnings and typos
+ * cellSysutilAvc2: improve unload and some more stuff
+ * uDraw emulation [3]
+ * uDraw emulation [2]
+ * Sort IO files
+ * uDraw emulation
+ * rsx: Make const explicitly unsigned
+ * rsx: Improve ROP output rounding precision
+ * Fix typo in System.cpp
+ * Fix OVL patching
+ * rsx: Fix intra-draw-call barrier queueing
+ * Buzz update
+ * Fix some msvc for loop warning
+ * fix some warnings
+ * Set a unique System Name
+ * rsx: Fix vertex texture invalidation
+ * rsx: Fix some broken latch checks
+ * vk: Always initialize internal objects
+ * Attempt at bundling wayland libraries
+ * Savestates: Fixup
+ * SPU: Add debug information when logging analyzer failures
+ * Add SPU Profiler to GUI
+ * CPUThread.cpp: Add reservation sampling
+ * SPU: Fixup breakpoints
+ * Savestates: serilialize avc2_settings
+ * Savestates: Add save stage names
+ * Progress Dialog: Force update every 20 seconds
+ * savestate_utils.cpp: Fix out-of-range bug
+ * Savestates: Make non-existing versions 0
+ * Default constructor for avc2_settings
+ * Add missing newline
+ * Update CMakelists.txt
+ * Get reworked RSX to compile
+ * rsx: Separate register context from RSX thread
+ * fix CellSysutilAvc2InitParam
+ * cellSysutilAvc2Load_shared: simplify max_video_windows check
+ * cellSysutilAvc2Load_shared: re-arrange streaming_mode checks
+ * cellSysutilAvc2Load_shared: review fixes
+ * cellSysutilAvc2Load_shared: use utils::align for total_bitrate
+ * cellSysutilAvc2Load_shared: fix compilation
+ * Only send cellSysutilAvc2LoadAsync callback with CELL_SYSUTIL_AVC2_VOICE_CHAT
+ * Fix callback_func check for CELL_SYSUTIL_AVC2_VIDEO_CHAT
+ * move cellSysutilAvc2LoadAsync to cellSysutilAvc2Load
+ * cellSysutilAvc2Load: param checks
+ * Initialize CB in cellSysutilAvc2Load
+ * SPU/Debugger: Use bitset for breakpoints
+ * SPU: Use bitset to reduce memory for compiler instance
+ * Logs: output always message level to debuggers
+ * GUI/CLI: Add setting to attach command line (Win32)
+ * PPU/reservations: send thread notification only if data changed
+ * Handle R16G16B16X16_FLOAT
+ * cellRtc: review + warning fixes
+ * cellRtc: tick conversion improvements
+
-------------------------------------------------------------------
Wed Apr 10 12:48:01 UTC 2024 - i@guoyunhe.me
diff --git a/rpcs3.spec b/rpcs3.spec
index 9ecea2c..4ad57fc 100644
--- a/rpcs3.spec
+++ b/rpcs3.spec
@@ -17,7 +17,7 @@
Name: rpcs3
-Version: 0.0.31~git20240409
+Version: 0.0.31~git20240420
Release: 0
Summary: PS3 emulator/debugger
License: GPL-2.0-only