diff --git a/CMakeLists.txt b/CMakeLists.txt
index f644370395f2202e5b87884fe1e89abf5035cc90..85f1d2f2b94ecacd6bda2ba3fbaf485bb1b8fbde 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1749,6 +1749,16 @@ endif(LWS_WITH_GENERIC_SESSIONS)
 				add_custom_command(TARGET ${TARGET_BIN}
 					POST_BUILD
 					COMMAND "${CMAKE_COMMAND}" -E copy "${SSLEAY_BIN}" "$<TARGET_FILE_DIR:${TARGET_BIN}>" VERBATIM)
+
+				#
+				# Win32: if we are using libuv, also need to copy it in the output dir
+				#
+				if (WIN32 AND LWS_WITH_LIBUV)
+					STRING(REPLACE ".lib" ".dll" LIBUV_BIN ${LIBUV_LIBRARIES})
+					add_custom_command(TARGET ${TARGET_BIN}
+						POST_BUILD
+						COMMAND "${CMAKE_COMMAND}" -E copy "${LIBUV_BIN}" "$<TARGET_FILE_DIR:${TARGET_BIN}>" VERBATIM)
+				endif()
 			endforeach()
 		endif()
 	endif()
diff --git a/README.md b/README.md
index fd7bec20d008dcc8a49e9659f1be733dc3fc3178..9fe4d3f0d6cc1d40293ce3ba7f0cf285c456b41a 100644
--- a/README.md
+++ b/README.md
@@ -8,6 +8,9 @@ libwebsockets
 News
 ----
 
+32- and 64-bit Windows binary builds are available via Appveyor.  Visit [lws on Appveyor](https://ci.appveyor.com/project/lws-team/libwebsockets),
+click on a build, the ARTIFACTS, and unzip the zip file at `C:\Program Files (x86)/libwebsockets`.
+
  - v2.4 is out... HTTP/2 server support and mbedTLS as a TLS backend.
 
 see the changelog https://github.com/warmcat/libwebsockets/blob/v2.4-stable/changelog
diff --git a/READMEs/README.build.md b/READMEs/README.build.md
index 0f18342d3cd7e8c473e46230837dcfc16a3f4159..bfd29029a07690ca27e359172b634921c8eddc4c 100644
--- a/READMEs/README.build.md
+++ b/READMEs/README.build.md
@@ -440,6 +440,15 @@ h2spec tests pass.
 ```
 
 
+@section windowsprebuilt Using Windows binary builds on Appveyor
+
+The CI builds on Appveyor now produce usable binary outputs.  Visit
+
+[lws on Appveyor](https://ci.appveyor.com/project/lws-team/libwebsockets)
+
+and select one of the builds, then click on ARTIFACTS at the top right.  The zip file
+want to be unpacked into `C:\Program Files (x86)/libwebsockets`, after that, you should be able to run the test server, by running it from `bin/Release/libwebsockets-test-server.exe` and opening a browser on http://127.0.0.1:7681
+
 @section cross Cross compiling
 
 To enable cross-compiling **libwebsockets** using CMake you need to create
diff --git a/appveyor.yml b/appveyor.yml
index 25b10a5ccdda3edeb73889bcd8e018f215c4eb2b..15f38399e571bc7b261d28ddffe7aa3f4bbfc48e 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -19,6 +19,7 @@ environment:
 
     - LWS_METHOD: nossl
       CMAKE_ARGS: -DLWS_WITH_SSL=OFF
+
 install:
   - appveyor DownloadFile https://libwebsockets.org:444/win-libuv.zip
   - mkdir c:\assets
@@ -33,7 +34,10 @@ install:
   - mkdir c:\assets\sqlite3
   - 7z x -oc:\assets\sqlite3 sqlite-dll-win32-x86-3130000.zip
   - SET PATH=C:\Program Files\NSIS\;C:\Program Files (x86)\NSIS\;c:\nsis;%PATH%
+
 build:
+  parallel: true
+  verbosity: minimal
 
 build_script:
   - md build
@@ -42,12 +46,17 @@ build_script:
   - cmake --build . --config Release
 
 after_build:
-   - 7z a lws.zip %APPVEYOR_BUILD_FOLDER%\build\lib\Release\websockets.lib %APPVEYOR_BUILD_FOLDER%\build\lib\Release\websockets.exp %APPVEYOR_BUILD_FOLDER%\build\bin\Release\websockets.dll %APPVEYOR_BUILD_FOLDER%\lib\libwebsockets.h  %APPVEYOR_BUILD_FOLDER%\build\lws_config.h  %APPVEYOR_BUILD_FOLDER%\build\bin\Release\*.exe
+  - cd %APPVEYOR_BUILD_FOLDER%
+  - mkdir staging
+  - cp -r %APPVEYOR_BUILD_FOLDER%\build\bin %APPVEYOR_BUILD_FOLDER%\build\lib staging
+  - if EXIST staging\bin\share mv staging\bin\share staging
+  - if NOT EXIST staging\share\libwebsockets-test-server mkdir staging\share\libwebsockets-test-server
+  - IF EXIST %APPVEYOR_BUILD_FOLDER%\build\libwebsockets-test-server.pem cp %APPVEYOR_BUILD_FOLDER%\build\libwebsockets-test-server.pem staging\share\libwebsockets-test-server
+  - IF EXIST %APPVEYOR_BUILD_FOLDER%\build\libwebsockets-test-server.key.pem cp %APPVEYOR_BUILD_FOLDER%\build\libwebsockets-test-server.key.pem staging\share\libwebsockets-test-server
+  - 7z a build\lws-%LWS_METHOD%.zip %APPVEYOR_BUILD_FOLDER%\staging\*
 
 artifacts:
-  - path: lws.zip
-    name: lws.zip
-    type: Zip
+  - path: build\lws-%LWS_METHOD%.zip
 
 matrix:
   fast_finish: true
diff --git a/lib/context.c b/lib/context.c
index 447968dcdfee50ccb766a6975effced05873af46..e548601a144943892fd10e9956fe12ba86aeb4a8 100644
--- a/lib/context.c
+++ b/lib/context.c
@@ -950,7 +950,7 @@ lws_create_context(struct lws_context_creation_info *info)
 #if defined(LWS_WITH_HTTP2)
 	lwsl_info(" HTTP2 support         : available\n");
 #else
-	lwsl_info(" HTTP2 support         : not configured");
+	lwsl_info(" HTTP2 support         : not configured\n");
 #endif
 	if (lws_plat_context_early_init())
 		return NULL;