diff --git a/REUSE.toml b/REUSE.toml
index 2bf8f9d9f..ec706f0bf 100644
--- a/REUSE.toml
+++ b/REUSE.toml
@@ -8,7 +8,7 @@ path = [
".github/shadps4.desktop",
".github/shadps4.png",
".gitmodules",
- "documents/changelog.txt",
+ "documents/changelog.md",
"documents/Quickstart/2.png",
"documents/Screenshots/*",
"scripts/ps4_names.txt",
@@ -29,6 +29,7 @@ path = [
"src/images/grid_icon.png",
"src/images/iconsize_icon.png",
"src/images/ko-fi.png",
+ "src/images/keys_icon.png",
"src/images/list_icon.png",
"src/images/list_mode_icon.png",
"src/images/pause_icon.png",
diff --git a/documents/changelog.txt b/documents/changelog.md
similarity index 50%
rename from documents/changelog.txt
rename to documents/changelog.md
index 6df09472d..766e1a09f 100644
--- a/documents/changelog.txt
+++ b/documents/changelog.md
@@ -1,3 +1,47 @@
+v0.4.0 31/10/2024 - codename divicius
+=================
+
+- Shader recompiler fixes
+- Emulated support for cpus that doesn't have SSE4.2a (intel cpus)
+- Frame graph + Precise 60 fps timing
+- Save data: fix nullptr & concurrent file write
+- Auto Update
+- Error dialog implementation
+- Swapchain recreation and window resizing
+- Add playback of background/title music in game list
+- Kernel: Quiet sceKernelWaitEventFlag error log on timeout
+- Improve keyboard navigation in game list
+- core/memory: Pooled memory implementation
+- Fix PKG loading
+- replace trophy xml assert with error
+- Refactor audio handling with range checks, buffer threshold, and lock
+- audio_core: Fix return value types and shift some error handling to library
+- Devtools: PM4 Explorer
+- Initial support of Geometry shaders
+- Working touchpad support
+- net: Stub sceNetErrnoLoc
+- Add support to click touchpad using back button on non PS4/5 controllers
+- Multiple Install Folders
+- Using a more standard data directory for linux
+- video_core: Implement sceGnmInsertPushColorMarker
+- ime_dialog: Initial implementation
+- Network libs fixes
+- Use GetSystemTimePreciseAsFileTime to fix fps timing issues
+- Added adaptive mutex initializer
+- Small Np + trophy fixes
+- Separate Updates from Game Folder
+- Minor Fixes for Separate Update Folder
+- AvPlayer: Do not align w/h to 16 with vdec2
+- Improve sceSystemServiceReceiveEvent stub
+- renderer_vulkan: Commize and adjust buffer bindings
+- Add poll interval to libScePad
+- Add more surface format mappings.
+- vulkan: Report only missing format feature flags.
+- IME implementation
+- Videodec2 implementation
+- path_util: Make sure macOS has current directory set and clean up path code.
+- Load LLE modules from sys_modules/GAMEID folder
+
v0.3.0 23/09/2024 - codename broamic
=================
diff --git a/src/images/keys_icon.png b/src/images/keys_icon.png
new file mode 100644
index 000000000..b03721eb3
Binary files /dev/null and b/src/images/keys_icon.png differ
diff --git a/src/qt_gui/main_window_ui.h b/src/qt_gui/main_window_ui.h
index db98799af..edfb4b5b0 100644
--- a/src/qt_gui/main_window_ui.h
+++ b/src/qt_gui/main_window_ui.h
@@ -143,7 +143,7 @@ public:
aboutAct->setIcon(QIcon(":images/about_icon.png"));
keys_shortcuts = new QAction(MainWindow);
keys_shortcuts->setObjectName("keys_shortcuts");
- keys_shortcuts->setIcon(QIcon(":images/about_icon.png"));
+ keys_shortcuts->setIcon(QIcon(":images/keys_icon.png"));
configureAct = new QAction(MainWindow);
configureAct->setObjectName("configureAct");
configureAct->setIcon(QIcon(":images/settings_icon.png"));
diff --git a/src/shadps4.qrc b/src/shadps4.qrc
index cd7c32b6b..7e26a2c4f 100644
--- a/src/shadps4.qrc
+++ b/src/shadps4.qrc
@@ -8,6 +8,7 @@
images/stop_icon.png
images/file_icon.png
images/folder_icon.png
+ images/keys_icon.png
images/themes_icon.png
images/iconsize_icon.png
images/list_icon.png