Version 1.78
diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt
index 0520ca9..89fdbda 100644
--- a/docs/CHANGELOG.txt
+++ b/docs/CHANGELOG.txt
@@ -32,7 +32,7 @@
 
 
 -----------------------------------------------------------------------
- VERSION 1.78 WIP (In Progress)
+ VERSION 1.78 (Released 2020-08-18)
 -----------------------------------------------------------------------
 
 Breaking Changes:
@@ -41,13 +41,13 @@
   - DragFloat(), DragFloat2(), DragFloat3(), DragFloat4(), DragFloatRange2(), DragScalar(), DragScalarN()
   - SliderFloat(), SliderFloat2(), SliderFloat3(), SliderFloat4(), SliderScalar(), SliderScalarN()
   - VSliderFloat(), VSliderScalar()
-  Replaced the 'float power=1.0f' argument with ImGuiSliderFlags flags defaulting to 0 (as with all our flags).
+  Replaced the final 'float power=1.0f' argument with ImGuiSliderFlags defaulting to 0 (as with all our flags).
   Worked out a backward-compatibility scheme so hopefully most C++ codebase should not be affected.
   In short, when calling those functions:
   - If you omitted the 'power' parameter (likely!), you are not affected.
   - If you set the 'power' parameter to 1.0f (same as previous default value):
     - Your compiler may warn on float>int conversion.
-    - Everything else will work.
+    - Everything else will work (but will assert if IMGUI_DISABLE_OBSOLETE_FUNCTIONS is defined).
     - You can replace the 1.0f value with 0 to fix the warning, and be technically correct.
   - If you set the 'power' parameter to >1.0f (to enable non-linear editing):
     - Your compiler may warn on float>int conversion.
@@ -69,25 +69,25 @@
   flag being cleared accordingly. (bug introduced in 1.77 WIP on 2020/06/16) (#3344, #2880)
 - Window: Fixed clicking over an item which hovering has been disabled (e.g inhibited by a popup)
   from marking the window as moved.
-- Drag, Slider: ImGuiSliderFlags parameters.
-  For float functions they replace the old trailing 'float power=1.0' parameter.
-  (See #3361 and the "Breaking Changes" block above for all details).
-- Drag, Slider: Added ImGuiSliderFlags_Logarithmic flags to enable logarithmic editing
-  (generally more precision around zero), as a replacement to the old 'float power' parameter
-  which was obsoleted. (#1823, #1316, #642) [@Shironekoben, @AndrewBelt]
-- Drag, Slider: Added ImGuiSliderFlags_ClampOnInput flags to force clamping value when using
-  CTRL+Click to type in a value manually. (#1829, #3209, #946, #413).
-- Drag, Slider: Added ImGuiSliderFlags_NoRoundToFormat flags to disable rounding underlying
-  value to match precision of the display format string. (#642)
-- Drag, Slider: Added ImGuiSliderFlags_NoInput to disable turning widget into a text input
-  with CTRL+Click or Nav Enter.
+- Drag, Slider: Added ImGuiSliderFlags parameters.
+  - For float functions they replace the old trailing 'float power=1.0' parameter.
+    (See #3361 and the "Breaking Changes" block above for all details).
+  - Added ImGuiSliderFlags_Logarithmic flag to enable logarithmic editing
+    (generally more precision around zero), as a replacement to the old 'float power' parameter
+    which was obsoleted. (#1823, #1316, #642) [@Shironekoben, @AndrewBelt]
+  - Added ImGuiSliderFlags_ClampOnInput flag to force clamping value when using
+    CTRL+Click to type in a value manually. (#1829, #3209, #946, #413).
+  - Added ImGuiSliderFlags_NoRoundToFormat flag to disable rounding underlying
+    value to match precision of the display format string. (#642)
+  - Added ImGuiSliderFlags_NoInput flag to disable turning widget into a text input
+    with CTRL+Click or Nav Enter.
 - Nav, Slider: Fix using keyboard/gamepad controls with certain logarithmic sliders where
   pushing a direction near zero values would be cancelled out. [@Shironekoben]
 - DragFloatRange2, DragIntRange2: Fixed an issue allowing to drag out of bounds when both
   min and max value are on the same value. (#1441)
 - InputText, ImDrawList: Fixed assert triggering when drawing single line of text with more
   than ~16 KB characters. (Note that current code is going to show corrupted display if after
-  clipping, more than 16 KB characters are visible in the same low-level ImDrawList::RenderText
+  clipping, more than 16 KB characters are visible in the same low-level ImDrawList::RenderText()
   call. ImGui-level functions such as TextUnformatted() are not affected. This is quite rare
   but it will be addressed later). (#3349)
 - Selectable: Fixed highlight/hit extent when used with horizontal scrolling (in or outside columns).
@@ -109,15 +109,15 @@
   path, reducing the amount of vertices/indices and CPU/GPU usage. (#3245) [@Shironekoben]
   - This change will facilitate the wider use of thick borders in future style changes.
   - Requires an extra bit of texture space (~64x64 by default), relies on GPU bilinear filtering.
-  - Clear io.AntiAliasedLinesUseTex = false; to disable rendering using this method.
-  - Clear ImFontAtlasFlags_NoBakedLines in ImFontAtlas::Flags to disable baking data in texture.
+  - Set `io.AntiAliasedLinesUseTex = false` to disable rendering using this method.
+  - Clear `ImFontAtlasFlags_NoBakedLines` in ImFontAtlas::Flags to disable baking data in texture.
 - ImDrawList: changed AddCircle(), AddCircleFilled() default num_segments from 12 to 0, effectively
   enabling auto-tessellation by default. Tweak tessellation in Style Editor->Rendering section, or
   by modifying the 'style.CircleSegmentMaxError' value. [@ShironekoBen]
 - ImDrawList: Fixed minor bug introduced in 1.75 where AddCircle() with 12 segments would generate
   an extra vertex. (This bug was mistakenly marked as fixed in earlier 1.77 release). [@ShironekoBen]
 - Demo: Improved "Custom Rendering"->"Canvas" demo with a grid, scrolling and context menu.
-  Also showcase using InvisibleButton() will multiple mouse buttons flags.
+  Also showcase using InvisibleButton() with multiple mouse buttons flags.
 - Demo: Improved "Layout & Scrolling" -> "Clipping" section.
 - Demo: Improved "Layout & Scrolling" -> "Child Windows" section.
 - Style Editor: Added preview of circle auto-tessellation when editing the corresponding value.
diff --git a/examples/README.txt b/examples/README.txt
index 8c89ef0..9f0977a 100644
--- a/examples/README.txt
+++ b/examples/README.txt
@@ -1,5 +1,5 @@
 -----------------------------------------------------------------------
- dear imgui, v1.78 WIP
+ dear imgui, v1.78
 -----------------------------------------------------------------------
  examples/README.txt
  (This is the README file for the examples/ folder. See docs/ for more documentation)
diff --git a/examples/example_win32_directx10/main.cpp b/examples/example_win32_directx10/main.cpp
index f6b8b21..2e83e82 100644
--- a/examples/example_win32_directx10/main.cpp
+++ b/examples/example_win32_directx10/main.cpp
@@ -26,6 +26,7 @@
 int main(int, char**)
 {
     // Create application window
+    //ImGui_ImplWin32_EnableDpiAwareness();
     WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, WndProc, 0L, 0L, GetModuleHandle(NULL), NULL, NULL, NULL, NULL, _T("ImGui Example"), NULL };
     ::RegisterClassEx(&wc);
     HWND hwnd = ::CreateWindow(wc.lpszClassName, _T("Dear ImGui DirectX10 Example"), WS_OVERLAPPEDWINDOW, 100, 100, 1280, 800, NULL, NULL, wc.hInstance, NULL);
diff --git a/examples/example_win32_directx11/main.cpp b/examples/example_win32_directx11/main.cpp
index 2cc36a7..310dc04 100644
--- a/examples/example_win32_directx11/main.cpp
+++ b/examples/example_win32_directx11/main.cpp
@@ -26,6 +26,7 @@
 int main(int, char**)
 {
     // Create application window
+    //ImGui_ImplWin32_EnableDpiAwareness();
     WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, WndProc, 0L, 0L, GetModuleHandle(NULL), NULL, NULL, NULL, NULL, _T("ImGui Example"), NULL };
     ::RegisterClassEx(&wc);
     HWND hwnd = ::CreateWindow(wc.lpszClassName, _T("Dear ImGui DirectX11 Example"), WS_OVERLAPPEDWINDOW, 100, 100, 1280, 800, NULL, NULL, wc.hInstance, NULL);
diff --git a/examples/example_win32_directx12/main.cpp b/examples/example_win32_directx12/main.cpp
index 6ea896b..4a26391 100644
--- a/examples/example_win32_directx12/main.cpp
+++ b/examples/example_win32_directx12/main.cpp
@@ -57,6 +57,7 @@
 int main(int, char**)
 {
     // Create application window
+    //ImGui_ImplWin32_EnableDpiAwareness();
     WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, WndProc, 0L, 0L, GetModuleHandle(NULL), NULL, NULL, NULL, NULL, _T("ImGui Example"), NULL };
     ::RegisterClassEx(&wc);
     HWND hwnd = ::CreateWindow(wc.lpszClassName, _T("Dear ImGui DirectX12 Example"), WS_OVERLAPPEDWINDOW, 100, 100, 1280, 800, NULL, NULL, wc.hInstance, NULL);
diff --git a/examples/example_win32_directx9/main.cpp b/examples/example_win32_directx9/main.cpp
index c8ad69f..57a61c0 100644
--- a/examples/example_win32_directx9/main.cpp
+++ b/examples/example_win32_directx9/main.cpp
@@ -24,6 +24,7 @@
 int main(int, char**)
 {
     // Create application window
+    //ImGui_ImplWin32_EnableDpiAwareness();
     WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, WndProc, 0L, 0L, GetModuleHandle(NULL), NULL, NULL, NULL, NULL, _T("ImGui Example"), NULL };
     ::RegisterClassEx(&wc);
     HWND hwnd = ::CreateWindow(wc.lpszClassName, _T("Dear ImGui DirectX9 Example"), WS_OVERLAPPEDWINDOW, 100, 100, 1280, 800, NULL, NULL, wc.hInstance, NULL);
diff --git a/imgui.cpp b/imgui.cpp
index 5941589..d0840e2 100644
--- a/imgui.cpp
+++ b/imgui.cpp
@@ -1,4 +1,4 @@
-// dear imgui, v1.78 WIP
+// dear imgui, v1.78
 // (main code and documentation)
 
 // Help:
diff --git a/imgui.h b/imgui.h
index 0ddf24c..8357602 100644
--- a/imgui.h
+++ b/imgui.h
@@ -1,4 +1,4 @@
-// dear imgui, v1.78 WIP
+// dear imgui, v1.78
 // (headers)
 
 // Help:
@@ -59,8 +59,8 @@
 
 // Version
 // (Integer encoded as XYYZZ for use in #if preprocessor conditionals. Work in progress versions typically starts at XYY99 then bounce up to XYY00, XYY01 etc. when release tagging happens)
-#define IMGUI_VERSION               "1.78 WIP"
-#define IMGUI_VERSION_NUM           17704
+#define IMGUI_VERSION               "1.78"
+#define IMGUI_VERSION_NUM           17800
 #define IMGUI_CHECKVERSION()        ImGui::DebugCheckVersionAndDataLayout(IMGUI_VERSION, sizeof(ImGuiIO), sizeof(ImGuiStyle), sizeof(ImVec2), sizeof(ImVec4), sizeof(ImDrawVert), sizeof(ImDrawIdx))
 
 // Define attributes of all API symbols declarations (e.g. for DLL under Windows)
diff --git a/imgui_demo.cpp b/imgui_demo.cpp
index 28cef96..77a7d87 100644
--- a/imgui_demo.cpp
+++ b/imgui_demo.cpp
@@ -1,4 +1,4 @@
-// dear imgui, v1.78 WIP
+// dear imgui, v1.78
 // (demo code)
 
 // Help:
diff --git a/imgui_draw.cpp b/imgui_draw.cpp
index 3920928..487cdbd 100644
--- a/imgui_draw.cpp
+++ b/imgui_draw.cpp
@@ -1,4 +1,4 @@
-// dear imgui, v1.78 WIP
+// dear imgui, v1.78
 // (drawing and font code)
 
 /*
diff --git a/imgui_internal.h b/imgui_internal.h
index c19d501..22ce463 100644
--- a/imgui_internal.h
+++ b/imgui_internal.h
@@ -1,4 +1,4 @@
-// dear imgui, v1.78 WIP
+// dear imgui, v1.78
 // (internal structures/api)
 
 // You may use this file to debug, understand or extend ImGui features but we don't provide any guarantee of forward compatibility!
diff --git a/imgui_widgets.cpp b/imgui_widgets.cpp
index 3331a66..1a10a2e 100644
--- a/imgui_widgets.cpp
+++ b/imgui_widgets.cpp
@@ -1,4 +1,4 @@
-// dear imgui, v1.78 WIP
+// dear imgui, v1.78
 // (widgets code)
 
 /*