diff --git a/CHANGELOG.md b/CHANGELOG.md
index a4251e1f4c3cf780e40e3de77ffb4792a16b9f8f..f55085ca046293aeb89f6bbbb73c948560837bc6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,5 @@
-The changelog is kept as [release notes](https://git.dms-serwis.com.pl/smokserwis/coolamqp/-/releases)
-on GitHub. This file serves to only note what changes
-have been made so far, between releases.
+Previous release notes are hosted on [GitHub](https://github.com/smok-serwis/coolamqp/releases).
+Since v1.3.2 they'll be put here and in release description.
 
 # v1.3.2
 
@@ -8,3 +7,4 @@ have been made so far, between releases.
 * compile_definitions will now depend on requests
 * added support for infinite (None) timeouts during start
 * stress tests will run for 120 seconds now
+* stress tests will be harder
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 20e2f43cce68f53caaf728aaf513e99ad53a9357..411519fff2cb111d7077a455887fb30cd545df95 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,8 +1,7 @@
 # Contributing guide
 
-1. Keep it unit tested.
-    1.1. If it's cool af, you don't have to.
-2. Exhaustive pydoc.
+1. Keep it unit tested, so that coverage doesn't fall down too much.
+2. Exhaustive pydoc. Remember to update the [docs/](docs/).
 3. If you introduce any gotchas, document them in [docs/](docs/).
 4. We aim to support Python 2.7 as long as possible, keep that in account.
 
diff --git a/stress_tests/client.py b/stress_tests/client.py
index d947943f2a1cd6be6ee76bcfb166b6c3d2de1e86..74880cc74f985f9502174f772f99bd58521b6507 100644
--- a/stress_tests/client.py
+++ b/stress_tests/client.py
@@ -6,7 +6,7 @@ import uuid
 from collections import deque
 from queue import Empty
 
-from satella.coding.concurrent import TerminableThread
+from satella.coding.concurrent import TerminableThread, ThreadCollection
 
 from coolamqp.clustering.events import ReceivedMessage, NothingMuch
 from coolamqp.objects import Queue, Message
@@ -116,9 +116,13 @@ def run(client_notify, result_client, server_notify, server_result):
 
     lftf = LogFramesToFile('client.txt')
     amqp = connect(on_fail=result_client, log_frames=lftf)
-    cad = ConnectAndDisconnectThread(amqp)
 
-    cad.start()
+    tc = ThreadCollection()
+    for i in range(3):
+        cad = ConnectAndDisconnectThread(amqp)
+        tc.add(cad)
+
+    tc.start()
     started_at = time.monotonic()
     terminating = False
     while not terminating and (time.monotonic() < started_at + RUNNING_INTERVAL):  # run for however long is required
@@ -130,6 +134,7 @@ def run(client_notify, result_client, server_notify, server_result):
         except KeyboardInterrupt:
             break
 
+    tc.terminate().join()
     server_notify.put(None)
 
     lftf.close()